How devking-kunal/attendx works
AttendX is an offline-first classroom attendance service hosted on a professor’s Windows laptop. Students connect to its hotspot and submit roll numbers; the server validates device and session bindings, records attendance, and isolates submitting devices. Teachers authenticate to manage sessions and review live or historical records, rosters, and exports. The README documents additional dashboard and network controls; sampled source confirms the main submission, persistence, Wi-Fi, authentication, and sync responsibilities. Some endpoint wiring is only partially excerpted, so uncertain relationships are omitted.
Main entry points: main.py FastAPI service · sync.py Post-session sync · wifi_control.py Wi-Fi control · database.py SQLite attendance store
Components 19
Web application
- FastAPI service
attendx/main.py - Check-in portal
attendx/main.py - Teacher dashboard
attendx/templates/dashboard.html - Teacher authentication
attendx/auth.py - Live event feed
attendx/main.py - Hotspot QR endpoint
attendx/main.py
Attendance records
- Session management
attendx/main.py - Session attendance buffer
attendx/main.py - Records and roster API
attendx/main.py - SQLite attendance store
attendx/database.py
Hotspot enforcement
- Wi-Fi control
attendx/wifi_control.py - Windows hotspot and firewall
Exports and sync
- Session CSV export
attendx/main.py - Post-session sync
attendx/sync.py - Attendance files
- XLSX and ERP export
attendx/sync.py - Google Sheets
Other components
- Student
- Teacher
Connections 25
- Student → Check-in portal: submits roll
- Check-in portal → Session attendance buffer: validates and records
- Check-in portal → Wi-Fi control: checks clients
- Check-in portal → FastAPI service: returns confirmation
- Teacher → Teacher dashboard: manages attendance
- Teacher dashboard → FastAPI service: uses API
- FastAPI service → Teacher authentication: checks credentials
- FastAPI service → Session management: dispatches requests
- Session management → Wi-Fi control: controls hotspot
- Session management → SQLite attendance store: creates and ends sessions
- Session management → Session attendance buffer: starts session
- Session attendance buffer → SQLite attendance store: autosaves records
- Records and roster API → Session attendance buffer: reads active records
- Records and roster API → SQLite attendance store: reads history and roster
- FastAPI service → Live event feed: serves events
- Live event feed → Teacher dashboard: streams updates
- FastAPI service → Session CSV export: serves exports
- Session CSV export → SQLite attendance store: saves records
- FastAPI service → Hotspot QR endpoint: serves QR data
- Hotspot QR endpoint → Wi-Fi control: gets hotspot address
- Wi-Fi control → Windows hotspot and firewall: controls and isolates devices
- Teacher → Post-session sync: runs after class
- Post-session sync → Attendance files: reads attendance CSV
- Post-session sync → XLSX and ERP export: generates exports
- Post-session sync → Google Sheets: uploads session data