Welcome to the LecteurAide wiki

The feature-by-feature encyclopedia of LecteurAide, generated from commit a9ffb3b. 3 articles.

About LecteurAide

LecteurAide is a full-stack application that ingests French book PDFs, processes them with Google's Gemini models, and presents them in a reading interface with translations, vocabulary extraction and comprehension questions. The backend extracts text from PDFs, segments narratives into scenes using Gemini, translates French to English via Google Cloud Translation, and stores everything in a database; the frontend provides pages to upload books, browse a library, and read scenes with interactive features. The application is built in three layers: Book management handles the REST API for upload and retrieval, Content processing transforms PDFs into structured scenes and learning materials, and Data storage persists everything as ORM entities.

(Full article...)

Book management is the API subsystem that handles uploading French PDF books, storing them with their processed contents, and retrieving books for display in the reader interface. The upload endpoint streams processing progress events back to the client during ingestion via server-sent events, and the retrieval endpoints expose books with their scenes, sentences, translations, vocabulary, and comprehension questions through REST routes.

(Full article...)

Did you know...

  • ... that the frontend provides an upload page at / where users submit a title and PDF file, a library page at /library listing all books, and a book viewer at /books/[bookId] for reading individual scenes? (Book management)
  • ... that TranslationService and GeminiService are initialized by reading GOOGLE_APPLICATION_CREDENTIALS and google_project_id from settings, and setting the Vertex AI project location? (Content processing)
  • ... that the database engine is created by _build_engine() using the LECTEUR_DATABASE_URL setting; for SQLite connections, check_same_thread=False is passed to allow multi-threaded access? (Data storage)

Recently updated

Feature map

flowchart LR
  n0["Book management"]
  n1["Content processing"]
  n2["Data storage"]
  n0 --- n1
  n0 --- n2
  n1 --- n2
  click n0 "/wiki/lecteuraide/wiki/book-management/"
  click n1 "/wiki/lecteuraide/wiki/content-processing/"
  click n2 "/wiki/lecteuraide/wiki/data-storage/"
Each box is an article; a line joins two articles when code in one calls or imports code in the other.

All articles lists every article as text.