How meretonga/ev-kutuphanem works
Kütüphanem is a Turkish-language home-library app for managing a book collection. A user works through the React interface to add, edit, delete, search, filter, sort, select, and count books; the interface sends collection operations to the FastAPI API, which validates and persists them in PostgreSQL. JSON import follows the API’s bulk-validation and duplicate-skipping behavior, while exports are initiated by the frontend. The frontend excerpt is partial, so uncertain handler-to-endpoint details are left at the API boundary; backend routes and persistence wiring are sampled.
Main entry points: App.jsx Library interface · main.py FastAPI routes · main.jsx React entry · database.py Database sessions
Components 13
React interface
- React entry
frontend/src/main.jsx - Library interface
frontend/src/App.jsx - Book operations
frontend/src/App.jsx - Search and selection
frontend/src/App.jsx - Collection counts
frontend/src/App.jsx - JSON transfer
frontend/src/App.jsx
API and domain
- FastAPI routes
backend/main.py - Input validation
backend/schemas.py
Persistence
- Book model
backend/models.py - Database sessions
backend/database.py
External services
- PostgreSQL
Other components
- Library user
- Browser runtime
Connections 19
- Library user → Browser runtime: uses
- Browser runtime → React entry: loads app
- React entry → Library interface: renders
- Library user → Library interface: interacts
- Library interface → Book operations: handles edits
- Library interface → Search and selection: filters and selects
- Library interface → Collection counts: shows totals
- Library interface → JSON transfer: imports and exports
- Book operations → FastAPI routes: sends book requests
- Search and selection → Library interface: updates view
- Collection counts → Library interface: reads collection
- JSON transfer → FastAPI routes: uploads JSON
- JSON transfer → Browser runtime: downloads JSON
- FastAPI routes → Book operations: returns records
- FastAPI routes → JSON transfer: returns import result
- FastAPI routes → Input validation: validates inputs
- FastAPI routes → Book model: queries and persists
- FastAPI routes → Database sessions: opens sessions
- Database sessions → PostgreSQL: connects