How emirhanbayrak/emirhan-repo works
This is a personal book-library tracker: users add books, organize and filter their collection, update reading progress, review statistics, and ask an AI librarian questions grounded in their library. The main application coordinates these workflows and stores the user name and books in browser local storage. Adding supports Gemini-assisted book search and CSV/XML bulk import; book details support cover search. The README only describes running the app, so these capabilities are inferred from the sampled source; wiring for unsampled components is included only where App.tsx demonstrates it.
Main entry points: App.tsx Library app · geminiService.ts Gemini service · BookDetailModal.tsx Book details · AddBookModal.tsx Add books
Components 14
Library workflow
- Library app
App.tsx - Browser storage
- Book catalog
components/BookCard.tsx - Search filters
App.tsx - Reading stats
components/StatsPanel.tsx
Book operations
- Book details
components/BookDetailModal.tsx - Progress display
components/ProgressBar.tsx - Add books
components/AddBookModal.tsx - Bulk import
components/AddBookModal.tsx
AI services
- Bookworm chat
components/BookwormChat.tsx - Gemini service
services/geminiService.ts
Domain model
- Book data types
types.ts
Other components
- Reader
- Google Gemini
Connections 18
- Reader → Library app: uses
- Library app → Browser storage: reads and writes
- Library app → Book catalog: renders
- Library app → Search filters: filters books
- Library app → Reading stats: supplies books
- Library app → Book details: opens and updates
- Library app → Add books: opens and receives additions
- Library app → Bookworm chat: opens with library
- Book catalog → Book details: selects book
- Book details → Progress display: renders progress
- Add books → Gemini service: searches books
- Add books → Bulk import: parses CSV/XML
- Bulk import → Library app: submits books
- Book details → Gemini service: searches covers
- Bookworm chat → Gemini service: asks with library
- Gemini service → Google Gemini: generates content
- Library app → Book data types: uses book model
- Gemini service → Book data types: uses book types