How bhaskar1461/att3 works
SNIST’s product is a role-based attendance and academic-management platform: students scan classroom projector QR codes, teachers manage sessions and registers, and administrators handle rosters, onboarding, devices, compliance, and reports. The React client reaches FastAPI through its API service; the backend provides attendance, identity, device, onboarding, and reporting capabilities over persistent academic data. Documented branches also include rotating QR validation, device binding and recovery, email delivery, Google Sheets/Excel registers, and security monitoring. Some backend routing and integration wiring is unsampled, so those links are shown only where documented.
Main entry points: main.py FastAPI Application · attendance.py Attendance APIs · api.ts API Client · models.py Academic Data Models
Components 28
Web Application
- React Application
frontend/src/App.tsx - API Client
frontend/src/services/api.ts
Attendance Workflow
- QR Scanner
frontend/src/services/qrEngine.ts - Projector QR
frontend/src/pages/PublicQrDisplay.tsx - Attendance APIs
backend/app/api/attendance.py - Attendance Engine
backend/app/services/attendance_engine.py - Attendance Registers
frontend/src/features/attendance/TodayRegisterPage.tsx
Identity Security
- Authentication API
backend/app/api/auth.py - Device Binding Crypto
frontend/src/services/binding/cryptoEngine.ts - Binding Storage
frontend/src/services/binding/storage.ts - Device Security
backend/app/core/device_security.py - Device Management
backend/app/api/devices.py
Academic Operations
- Onboarding API
backend/app/api/onboarding.py - Onboarding Service
backend/app/services/onboarding_service.py - Onboarding Manager
frontend/src/components/admin/OnboardingManager.tsx - Compliance Analytics
backend/app/api/compliance_analytics.py - Reports
backend/app/services/report_service.py
Persistence Integrations
- FastAPI Application
backend/app/main.py - Academic Data Models
backend/app/models/models.py - SQL Database
backend/app/core/database.py - Email Delivery
backend/app/services/email_service.py - Google Sheets Sync
backend/app/services/gsheets_service.py - Excel Registers
backend/app/services/excel_service.py
Other components
- Student
- Teacher
- Administrator
- SMTP Providers
- Google Sheets
Connections 33
- Student → React Application: uses
- Teacher → React Application: uses
- Administrator → React Application: uses
- React Application → API Client: requests
- API Client → FastAPI Application: HTTP API
- FastAPI Application → Attendance APIs: dispatches
- FastAPI Application → Authentication API: dispatches
- FastAPI Application → Device Management: dispatches
- FastAPI Application → Onboarding API: dispatches
- FastAPI Application → Compliance Analytics: dispatches
- Projector QR → Student: displays QR
- Student → QR Scanner: scans QR
- QR Scanner → Attendance APIs: submits scan
- Attendance APIs → Attendance Engine: calculates attendance
- Attendance APIs → Academic Data Models: reads/writes
- Attendance Registers → API Client: requests registers
- Attendance Engine → Compliance Analytics: supplies metrics
- Device Binding Crypto → Binding Storage: stores keys
- Device Binding Crypto → Device Management: signs enrollment
- Device Management → Device Security: checks binding
- Device Management → Academic Data Models: reads/writes
- Onboarding Manager → API Client: requests onboarding
- API Client → Onboarding API: HTTP requests
- Onboarding API → Onboarding Service: handles onboarding
- Onboarding Service → Email Delivery: dispatches links
- Email Delivery → SMTP Providers: sends email
- Onboarding Service → Academic Data Models: updates roster
- Attendance APIs → Google Sheets Sync: syncs attendance
- Google Sheets Sync → Google Sheets: updates sheets
- Reports → Excel Registers: generates registers
- Attendance APIs → SQL Database: persists records
- Academic Data Models → SQL Database: maps data
- Compliance Analytics → Academic Data Models: reads academic data