How sharmakanishka05/ai_attendance works
AttendAI is a web-based attendance system for schools and organizations. Teachers create a class session, capture or upload a classroom image, review face matches and unknown faces, then confirm attendance; administrators also manage students, classes, and system settings. The backend combines authenticated API routes, face analysis, and attendance services with persistent records. Reporting and exports provide a separate results branch. The README documents capabilities beyond the sampled backend excerpts; links to those features are shown only where the tree supports a route.
Main entry points: api.ts API client · main.py FastAPI application · database.py Application database · attendance.py Attendance operations
Components 24
Web application
- Dashboard
frontend/app/page.tsx - Login page
frontend/app/login/page.tsx - Attendance workspace
frontend/app/attendance/page.tsx - Attendance review
frontend/components/attendance/AttendanceReview.tsx - Camera and upload
frontend/components/attendance/CameraCapture.tsx - API client
frontend/lib/api.ts - Reports page
frontend/app/reports/page.tsx - Students page
frontend/app/students/page.tsx - Classes page
frontend/app/classes/page.tsx - Sessions page
frontend/app/sessions/page.tsx - Settings page
frontend/app/settings/page.tsx
API and access
- Authentication
backend/app/api/auth.py - FastAPI application
backend/app/main.py - Application database
backend/app/db/database.py
Attendance workflow
- Session management
backend/app/api/sessions.py - Attendance operations
backend/app/api/attendance.py - Face recognition
backend/app/services/face_pipeline.py - Image quality checks
backend/app/services/quality_check.py - Attendance service
backend/app/services/attendance_svc.py
Administration and reporting
- Student management
backend/app/api/students.py - Class management
backend/app/api/classes.py - Reports and exports
backend/app/api/reports.py - System settings
backend/app/api/settings.py
Other components
- Teacher / admin
Connections 35
- Teacher / admin → Login page: signs in
- Teacher / admin → Dashboard: uses
- Dashboard → API client: requests data
- Login page → API client: authenticates via
- API client → FastAPI application: sends API requests
- FastAPI application → Authentication: mounts routes
- FastAPI application → Student management: mounts routes
- FastAPI application → Class management: mounts routes
- FastAPI application → Session management: mounts routes
- FastAPI application → Attendance operations: mounts routes
- FastAPI application → Reports and exports: mounts routes
- FastAPI application → System settings: mounts routes
- Authentication → Application database: reads users
- Student management → Application database: reads and writes
- Class management → Application database: reads and writes
- Session management → Application database: reads sessions
- Session management → Attendance service: gets or creates session
- Attendance operations → Face recognition: analyzes faces
- Attendance operations → Image quality checks: checks image quality
- Attendance operations → Attendance service: records attendance
- Attendance operations → Application database: reads and writes
- Attendance service → Application database: reads and writes
- Attendance workspace → Camera and upload: captures image
- Attendance workspace → Attendance review: presents matches
- Attendance workspace → API client: requests session and attendance
- Attendance review → Attendance workspace: submits review
- Students page → API client: requests student data
- Classes page → API client: requests class data
- Sessions page → API client: requests session data
- Reports page → API client: requests reports
- API client → Reports and exports: requests reports and exports
- Settings page → API client: requests settings
- API client → System settings: requests configuration
- Reports and exports → Application database: queries attendance
- System settings → Application database: reads and writes settings