How adityakeerti/pustak-tracker works
Pustak Tracker manages library accounts, book catalogues, circulation, fines, and librarian reporting through a web dashboard, with a documented mobile-user API. The main workflow is librarian sign-in, catalog and user management, issuing or returning books, then reviewing overdue items and statistics; mobile users authenticate and access their account through the API. The tree documents scanning, notifications, categories, and transactions as additional capabilities. API-to-page wiring and mobile client implementation are not shown in the sampled source, so those links are limited to explicit documentation and observed calls.
Main entry points: App.tsx Web app routing · authStore.ts Web auth state · api Mobile and web API · auth.py API authentication
Components 17
Librarian web
- Web app routing
frontend/src/App.tsx - Web auth state
frontend/src/state/authStore.ts - Book catalogue UI
frontend/src/pages/Books.tsx - Dashboard and pages
frontend/src/pages - Web data state
frontend/src/state/backendStore.ts
Backend API
- Web session routes
backend/app/routes/auth.py - Mobile and web API
backend/app/routes/api - API authentication
backend/app/routes/api/auth.py
Library domain
- Book services
backend/app/services/book_service.py - Fine and reminder service
backend/app/services/fine_service.py - Dashboard statistics
backend/app/services/stats_service.py - Library entities
backend/app/models.py - Scan storage
backend/app/scan_store.py
Persistent data
- MySQL database
Other components
- Librarian
- Mobile user
- Flutter mobile app
mobile_app
Connections 13
- Librarian → Web app routing: uses
- Web app routing → Dashboard and pages: routes to
- Web app routing → Web auth state: initializes
- Book catalogue UI → Web data state: reads and updates
- Web auth state → API authentication: posts login
- API authentication → MySQL database: reads and writes users
- Web session routes → MySQL database: reads users
- Mobile user → Flutter mobile app: uses
- Flutter mobile app → Mobile and web API: calls documented API
- Mobile and web API → MySQL database: serves library data
- Book services → MySQL database: reads and writes circulation
- Fine and reminder service → MySQL database: updates transactions
- Dashboard statistics → MySQL database: aggregates records