How akayrailhan/e-kitap works
E-Kitap Oluşturucu is a full-stack service that accepts exactly ten DOCX papers and produces a single PDF e-book with a cover, real-page-number table of contents, and server-side removal of email and phone details. The main user journey runs from the React editor through book upload, background generation and status polling to PDF viewing; users can also authenticate optionally and revisit their books. The graph reflects the shown API, orchestration, persistence, storage, and UI calls. Several documented capabilities are included at subsystem level where their implementation was not sampled.
Main entry points: App.tsx Workflow UI · BooksController.cs Books API · BookGenerationService.cs Generation orchestration · bookApi.ts Book API client
Components 22
Web application
- Workflow UI
frontend/src/App.tsx - Book form
frontend/src/components/BookForm/BookForm.tsx - Authentication UI
frontend/src/components/AuthModal/AuthModal.tsx - Supabase auth client
frontend/src/services/supabaseClient.ts - Book API client
frontend/src/services/bookApi.ts - Progress and status
frontend/src/components/Loading/LoadingProgress.tsx - Book library
frontend/src/components/MyBooksModal/MyBooksModal.tsx - PDF viewer
frontend/src/components/PdfViewer/PdfViewer.tsx
API and orchestration
- Books API
backend/src/EBook.Api/Controllers/BooksController.cs - Upload validation
backend/src/EBook.Application/Books/Upload/BookUploadService.cs - Generation orchestration
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Status service
backend/src/EBook.Application/Books/Status/BookStatusService.cs - Book and paper model
backend/src/EBook.Domain/Books/Book.cs
Document processing
- DOCX reader
backend/src/EBook.Infrastructure/Documents/OpenXmlDocumentReader.cs - Contact sanitizer
backend/src/EBook.Infrastructure/Documents/ContactSanitizer.cs - PDF compiler
backend/src/EBook.Infrastructure/Documents/QuestPdfBookGenerator.cs
Persistence and files
- Book database
backend/src/EBook.Infrastructure/Persistence/EBookDbContext.cs - EF book repository
backend/src/EBook.Infrastructure/Persistence/EfBookRepository.cs - Local file storage
backend/src/EBook.Infrastructure/Storage/LocalFileStorage.cs
Other components
- Book creator
- MSSQL
- Local filesystem
Connections 29
- Book creator → Workflow UI: edits and submits
frontend/src/App.tsx - Workflow UI → Book form: renders
frontend/src/App.tsx - Workflow UI → Book API client: uploads and polls
frontend/src/App.tsx - Workflow UI → Progress and status: shows progress
- Workflow UI → PDF viewer: shows completed PDF
frontend/src/App.tsx - Workflow UI → Book library: opens library
- Workflow UI → Authentication UI: offers sign-in
- Authentication UI → Supabase auth client: authenticates
frontend/src/components/AuthModal/AuthModal.tsx - Book API client → Supabase auth client: gets auth token
frontend/src/services/bookApi.ts - Book API client → Books API: calls book endpoints
- Book library → Book API client: lists books
frontend/src/components/MyBooksModal/MyBooksModal.tsx - PDF viewer → Book API client: requests PDF
frontend/src/components/PdfViewer/PdfViewer.tsx - Books API → Upload validation: uploads papers
backend/src/EBook.Api/Controllers/BooksController.cs - Books API → Generation orchestration: starts generation
backend/src/EBook.Api/Controllers/BooksController.cs - Books API → Status service: gets status
backend/src/EBook.Api/Controllers/BooksController.cs - Books API → EF book repository: reads books
backend/src/EBook.Api/Controllers/BooksController.cs - Books API → Local file storage: reads PDF
backend/src/EBook.Api/Controllers/BooksController.cs - Upload validation → Local file storage: saves DOCX
backend/src/EBook.Application/Books/Upload/BookUploadService.cs - Upload validation → EF book repository: persists book
backend/src/EBook.Application/Books/Upload/BookUploadService.cs - Upload validation → Book and paper model: creates book and papers
backend/src/EBook.Application/Books/Upload/BookUploadService.cs - Generation orchestration → EF book repository: loads and updates book
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Generation orchestration → Local file storage: reads DOCX and saves PDF
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Generation orchestration → DOCX reader: extracts text
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Generation orchestration → Contact sanitizer: removes contacts
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Generation orchestration → PDF compiler: compiles ebook
backend/src/EBook.Application/Books/Generation/BookGenerationService.cs - Status service → EF book repository: loads status
backend/src/EBook.Application/Books/Status/BookStatusService.cs - EF book repository → Book database: queries and saves
backend/src/EBook.Infrastructure/Persistence/EfBookRepository.cs - Book database → MSSQL: stores records
- Local file storage → Local filesystem: reads and writes
backend/src/EBook.Infrastructure/Storage/LocalFileStorage.cs