How sanhith2117s/garuda-m works
Garuda is a role-based campus student leave, pass, and gate-management system. Users sign in through the web portal; administrators, HODs, mentors, and security staff access role-specific workflows, including pass issuance and administration, student lookup, and gate scanning. The backend exposes these domains through FastAPI routers, persists their records in a relational database, and runs scheduled pass-expiry and semester-promotion tasks. The tree and sampled code support the application entry points and broad domain areas, but not detailed endpoint wiring for unsampled routers; those links are kept at the router/domain level.
Main entry points: main.py API application · database.py Database sessions · App.tsx Role portals · auth.py Authentication
Components 29
Web portals
- Role portals
frontend/src/App.tsx - Sign in
frontend/src/pages/LoginPage.tsx - Admin console
frontend/src/pages/AdminDashboard.tsx - HOD portal
frontend/src/pages/hod/HODDashboard.tsx - Mentor portal
frontend/src/pages/mentor/MentorDashboard.tsx - Gate scanner
frontend/src/pages/security/SecurityApp.tsx - Student portal
frontend/src/pages/ScannerApp.tsx
API domains
- Authentication
backend/api/auth.py - Gate operations
backend/api/gate.py - Student operations
backend/api/student.py - Pass management
backend/api/lunch.py - Custom passes
backend/api/custom_pass.py - Latecomers
backend/api/latecomers.py - Bulk passes
backend/api/bulk.py - Student directory
backend/api/directory.py - Student onboarding
backend/api/onboarding.py - Semester management
backend/api/semester.py - Campus administration
backend/api/colleges.py - Staff assignments
backend/api/mentors.py - HOD operations
backend/api/hod.py - Announcements
backend/api/announcements.py - Audit records
backend/api/audit.py - Data exports
backend/api/exports.py - API application
backend/main.py
Persistence
- Database sessions
backend/db/database.py - Domain records
backend/db/models.py - Relational database
Lifecycle services
- Scheduled lifecycle
backend/core/tasks.py
Other components
- Campus users
Connections 38
- Campus users → Role portals: uses
- Role portals → Sign in: routes
- Role portals → Admin console: routes
- Role portals → HOD portal: routes
- Role portals → Mentor portal: routes
- Role portals → Gate scanner: routes
- Role portals → Student portal: routes
- Sign in → Authentication: submits credentials
- Admin console → API application: calls API
- HOD portal → API application: calls API
- Mentor portal → API application: calls API
- Gate scanner → Gate operations: scans passes
- Student portal → Student operations: requests student data
- API application → Authentication: registers routes
- API application → Gate operations: registers routes
- API application → Student operations: registers routes
- API application → Pass management: registers routes
- API application → Custom passes: registers routes
- API application → Latecomers: registers routes
- API application → Bulk passes: registers routes
- API application → Student directory: registers routes
- API application → Student onboarding: registers routes
- API application → Semester management: registers routes
- API application → Campus administration: registers routes
- API application → Staff assignments: registers routes
- API application → HOD operations: registers routes
- API application → Announcements: registers routes
- API application → Audit records: registers routes
- API application → Data exports: registers routes
- Authentication → Database sessions: queries and updates
- Gate operations → Database sessions: uses sessions
- Student operations → Database sessions: uses sessions
- Pass management → Database sessions: uses sessions
- Custom passes → Database sessions: uses sessions
- Database sessions → Domain records: maps entities
- Database sessions → Relational database: reads and writes
- API application → Scheduled lifecycle: starts tasks
- Scheduled lifecycle → Database sessions: updates records