How qutiepatutie/libra works
LibraSphere is a library management system: patrons authenticate, browse/search books, request loans and reserve rooms; administrators manage catalog inventory, approve loans and reservations, process returns, and review circulation and borrower analytics. The React routes expose these workflows and call API modules, which communicate with Django views backed by account and library domain models; Supabase is documented as the database. Attendance is a separate access-controlled workflow. Analytics and identity are distinct internal layers. Edges reflect excerpted calls or README capabilities; unsampled routing/API details are omitted where their wiring cannot be verified.
Main entry points: AppRoutes.jsx Application routes · views.py Library endpoints · useBorrowers.js Loan and reservation actions · models.py Library records
Components 34
React application
- Application routes
frontend/src/routes/AppRoutes.jsx - Book browsing
frontend/src/pages/library/Library.jsx - Catalog search
frontend/src/pages/library/useLibraryBooks.js - Catalog administration
frontend/src/pages/admin/addbook/AddBook.jsx - Book entry workflow
frontend/src/pages/admin/addbook/useAddBook.js - Borrowed books
frontend/src/pages/user/borrowedBooks/BorrowedBooks.jsx - Room reservation
frontend/src/pages/user/roomReservation/RoomReservation.jsx - Borrower administration
frontend/src/pages/admin/admission/AdminBorrowers.jsx - Reservation administration
frontend/src/pages/admin/admission/RoomReservations.jsx - Loan and reservation actions
frontend/src/hooks/useBorrowers.js - Attendance workflow
frontend/src/pages/attendance/Attendance.jsx - Patron dashboard
frontend/src/pages/user/UserDashboard.jsx - Admin dashboards
frontend/src/pages/admin/dashboard/Circulation.jsx
Identity and access
- Sign-in and registration
frontend/src/pages/auth/AuthPage.jsx - Auth workflow
frontend/src/pages/auth/useAuth.js - Session utilities
frontend/src/pages/auth/auth.util.js - User API
frontend/src/api/users.js
Reporting
- Analytics API
frontend/src/api/analytics.js - Patron analytics
backend/library/user_analytics.py - Admin analytics
backend/library/admin_analytics.py - Borrower analytics
backend/library/borrower_analytics.py - Inventory analytics
backend/library/inventory_analytics.py
Django services
- Account and profiles
backend/accounts/models.py - Account endpoints
backend/accounts/views.py - Book endpoints
backend/books/views.py - Library endpoints
backend/library/views.py - Library records
backend/library/models.py - Role permissions
backend/library/permissions.py
Other components
- Patron
- Administrator
- Supabase database
- Google sign-in
Connections 46
- Patron → Application routes: uses
- Administrator → Application routes: uses
- Application routes → Sign-in and registration: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Book browsing: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Borrowed books: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Room reservation: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Borrower administration: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Reservation administration: routes to
frontend/src/routes/AppRoutes.jsx - Application routes → Attendance workflow: routes to
frontend/src/routes/AppRoutes.jsx - Sign-in and registration → Auth workflow: uses
frontend/src/pages/auth/AuthPage.jsx - Sign-in and registration → Session utilities: uses
frontend/src/pages/auth/AuthPage.jsx - Auth workflow → User API: calls
frontend/src/pages/auth/useAuth.js - Auth workflow → Session utilities: requests code
frontend/src/pages/auth/useAuth.js - Sign-in and registration → Google sign-in: requests sign-in
- Book browsing → Catalog search: uses
- Catalog search → Books API: fetches books
frontend/src/pages/library/useLibraryBooks.js - Catalog administration → Book entry workflow: uses
- Book entry workflow → Books API: autofills and adds
frontend/src/pages/admin/addbook/useAddBook.js - Borrowed books → Loan and reservation actions: uses
- Room reservation → Rooms API: uses
frontend/src/pages/user/roomReservation/RoomReservation.jsx - Room reservation → Loan and reservation actions: uses
frontend/src/pages/user/roomReservation/RoomReservation.jsx - Borrower administration → Loan and reservation actions: uses
- Reservation administration → Loan and reservation actions: uses
- Loan and reservation actions → Books API: calls
frontend/src/hooks/useBorrowers.js - Loan and reservation actions → Rooms API: calls
frontend/src/hooks/useBorrowers.js - Patron dashboard → Analytics API: loads analytics
- Admin dashboards → Analytics API: loads analytics
- User API → Account endpoints: HTTP requests
- Books API → Book endpoints: HTTP requests
- Rooms API → Library endpoints: HTTP requests
- Analytics API → Library endpoints: HTTP requests
- Account endpoints → Account and profiles: reads and writes
backend/accounts/views.py - Book endpoints → Library records: manages catalog
- Library endpoints → Library records: reads and writes
backend/library/views.py - Library endpoints → Role permissions: checks roles
backend/library/views.py - Library endpoints → Patron analytics: requests summaries
backend/library/views.py - Library endpoints → Admin analytics: requests summaries
backend/library/views.py - Library endpoints → Borrower analytics: requests summaries
backend/library/views.py - Library endpoints → Inventory analytics: requests summaries
backend/library/views.py - Patron analytics → Library records: queries
backend/library/user_analytics.py - Admin analytics → Library records: queries
backend/library/admin_analytics.py - Borrower analytics → Admin analytics: uses
backend/library/borrower_analytics.py - Borrower analytics → Patron analytics: uses
backend/library/borrower_analytics.py - Inventory analytics → Library records: queries
backend/library/inventory_analytics.py - Library records → Account and profiles: references profiles
backend/library/models.py - Account and profiles → Supabase database: persisted in