How sachinmaurya69500/face_recognition_attendance_system works
Pratyaksh is a face-recognition attendance product: teachers/admins register students and capture attendance from camera images; students view attendance, while staff can manage accounts, sessions, visitors, and reports. The documented production path is mobile client → Nginx → FastAPI → PostgreSQL, with GPU face inference in the API. The graph also includes caching, sessions, photo handling, PDF reporting, and the date-picker utility. Relationships are based on the README and shown source-index references; unsampled details are not inferred.
Main entry points: main.py API and attendance · App.tsx Mobile app · database.py Database access · photo_storage.py Student photo storage
Components 19
Mobile client
- Mobile app
mobile-expo/App.tsx - Date-time picker
mobile-expo/components/AppDateTimePicker.tsx - Date formatting
mobile-expo/utils/dateFormat.ts
API and domain
- Nginx gateway
nginx/default.conf - API and attendance
backend/app/main.py - Face inference
backend/app/models.py - PDF reports
backend/app/pdf_services.py - Visitor and QR services
backend/app/visitor_services.py
Runtime services
- Auth sessions
backend/app/session_manager.py - Cache and rate limits
backend/app/cache.py - Student photo storage
backend/app/photo_storage.py - Photo thumbnails
backend/app/student_photos.py
Persistence
- Database access
backend/app/database.py - Database seeding
backend/app/seed_database.py - PostgreSQL and pgvector
- Redis
- Photo files
backend/storage/student_photos
Other components
- Teacher or admin
- Student
Connections 21
- Teacher or admin → Mobile app: uses
Readme.md - Student → Mobile app: uses
Readme.md - Mobile app → Nginx gateway: sends requests
Readme.md - Mobile app → API and attendance: calls directly
Readme.md - Nginx gateway → API and attendance: proxies requests
Readme.md - API and attendance → Database access: reads and writes
backend/app/main.py - Database access → PostgreSQL and pgvector: connects
Readme.md - API and attendance → Face inference: runs inference
Readme.md - API and attendance → Auth sessions: manages sessions
backend/app/main.py - Auth sessions → Cache and rate limits: uses cache
backend/app/session_manager.py - API and attendance → Cache and rate limits: caches and limits
backend/app/main.py - Cache and rate limits → Redis: stores cache
- API and attendance → PDF reports: generates reports
backend/app/main.py - API and attendance → Visitor and QR services: handles visitors
backend/app/main.py - API and attendance → Student photo storage: stores photos
backend/app/main.py - Student photo storage → Database access: updates photo paths
backend/app/photo_storage.py - Student photo storage → Photo files: writes photo files
backend/app/photo_storage.py - API and attendance → Photo thumbnails: formats thumbnails
backend/app/main.py - Database seeding → Database access: connects
backend/app/seed_database.py - Database seeding → PostgreSQL and pgvector: creates and seeds
backend/app/seed_database.py - Date-time picker → Date formatting: uses parsing
mobile-expo/components/AppDateTimePicker.tsx