How johnbazty/stiormoclibrary works
SmartLib is a library-management portal backed by a modular-monolith API and Supabase Postgres. Patrons and staff use the web portal to authenticate and perform library tasks; API modules handle catalog and physical-copy management, circulation, reservations, attendance, and related operations. The README also documents fines, printing, clearance, floor plans, notifications, dashboards, and reports. Sampled controller and repository code supports the circulation-to-data and reporting flows shown; several other module links reflect documented capabilities and the module layout, not inspected implementation details.
Main entry points: index.ts Module routing · App.tsx Web application · catalog.routes.ts Catalog management · circulation.controller.ts Loans and returns
Components 26
Web portal
- Web application
apps/web/src/App.tsx - Auth screens
apps/web/src/features/auth/LoginPage.tsx - Catalog screens
apps/web/src/features/catalog/BookCatalog.tsx - Circulation screens
apps/web/src/features/circulation/circulation-api.ts - Service screens
apps/web/src/features/attendance/attendance-api.ts
Identity
- JWT authentication
apps/api/src/modules/auth/jwt-auth.service.ts - Auth routes
apps/api/src/modules/auth/jwt-auth.routes.ts
Library operations
- Module routing
apps/api/src/modules/index.ts - Catalog management
apps/api/src/modules/catalog/catalog.routes.ts - Physical inventory
apps/api/src/modules/inventory/inventory.routes.ts - Loans and returns
apps/api/src/modules/circulation/circulation.controller.ts - Circulation rules
apps/api/src/modules/circulation/circulation.service.ts - Loan data access
apps/api/src/modules/circulation/circulation.service.ts - Reservations
apps/api/src/modules/reservations/reservations.routes.ts
Library services
- Attendance
apps/api/src/modules/attendance/attendance.controller.ts - Fines
apps/api/src/modules/fines/fines.controller.ts - Print services
apps/api/src/modules/printing/printing.routes.ts - Clearance
apps/api/src/modules/clearance/clearance.routes.ts - Floor plan
apps/api/src/modules/floor-plan/floor-plan.routes.ts - Notifications
apps/api/src/modules/notifications/notifications.routes.ts - Dashboards
apps/api/src/modules/dashboard/dashboard.controller.ts - Reports and exports
apps/api/src/modules/reports/reports.routes.ts - Supabase Postgres
Other components
- Patrons
- Library staff
- Supabase Storage
Connections 32
- Patrons → Web application: uses
- Library staff → Web application: uses
- Web application → Auth screens: renders
- Web application → Catalog screens: renders
- Web application → Circulation screens: renders
- Web application → Service screens: renders
- Auth screens → Auth routes: sign-in requests
- Auth routes → JWT authentication: dispatches
- JWT authentication → Supabase Postgres: reads and writes
- Module routing → Catalog management: mounts routes
- Module routing → Physical inventory: mounts routes
- Module routing → Loans and returns: mounts routes
- Module routing → Reservations: mounts routes
- Module routing → Attendance: mounts routes
- Module routing → Fines: mounts routes
- Module routing → Print services: mounts routes
- Module routing → Clearance: mounts routes
- Module routing → Floor plan: mounts routes
- Module routing → Notifications: mounts routes
- Module routing → Dashboards: mounts routes
- Module routing → Reports and exports: mounts routes
- Catalog screens → Catalog management: catalog requests
- Circulation screens → Loans and returns: loan requests
- Service screens → Attendance: attendance requests
- Loans and returns → Circulation rules: calls
- Circulation rules → Loan data access: queries
- Loan data access → Supabase Postgres: reads and writes
- Attendance → Supabase Postgres: reads and writes
- Fines → Supabase Postgres: reads and writes
- Dashboards → Supabase Postgres: queries
- Print services → Supabase Storage: stores documents
- Catalog management → Supabase Storage: stores covers