How sumit-beldar/qr-attendance-v2 works
QR Attendance System supports teacher-managed classes and student check-ins in local-network or cloud mode. Teachers manage accounts, batches and students, then start sessions; the projector displays a seven-second rotating QR code and short-code fallback. Students authenticate, scan or enter a code, claim a short-lived ticket, optionally provide GPS, and complete check-in. Attendance routes validate and record the result, including anti-proxy checks; teachers monitor, revoke and export attendance. The excerpts support the core route and UI links; some README capabilities, including backup and deployment modes, are documented but not traced to sampled implementations.
Main entry points: server.js HTTP server · db.js Database access · attendance.js Attendance check-in · auth.js Auth and limits
Components 17
User interfaces
- Teacher portal
public/js/teacher.js - Student portal
public/js/student.js - Live projector
public/js/projector.js
Application routes
- HTTP server
src/server.js - Teacher management
src/routes/teacher.js - Student accounts
src/routes/student.js - Session management
src/routes/sessions.js - Attendance check-in
src/routes/attendance.js
Check-in services
- Auth and limits
src/auth.js - QR and tickets
src/codes.js - Geofence checks
src/geo.js
Persistence
- Database access
src/db.js - Attendance database
src/db.js
Other components
- Teacher
- Student
- Projector screen
- Turso libSQL
Connections 25
- Teacher → Teacher portal: uses
- Student → Student portal: uses
- Projector screen → Live projector: displays
- Teacher portal → HTTP server: requests APIs
- Student portal → HTTP server: requests APIs
- Live projector → HTTP server: polls code
- HTTP server → Teacher management: mounts API
- HTTP server → Student accounts: mounts API
- HTTP server → Session management: mounts API
- HTTP server → Attendance check-in: mounts API
- Teacher management → Auth and limits: checks access
- Teacher management → Database access: reads and writes
- Student accounts → Auth and limits: checks access
- Student accounts → Database access: reads and writes
- Session management → Auth and limits: checks teacher
- Session management → Database access: reads sessions
- Session management → QR and tickets: generates QR
- Attendance check-in → Auth and limits: checks access and limits
- Attendance check-in → QR and tickets: validates code and ticket
- Attendance check-in → Geofence checks: checks location
- Attendance check-in → Database access: reads and records
- Auth and limits → Database access: checks session versions
- HTTP server → Database access: checks database health
- Database access → Attendance database: reads and writes
- Database access → Turso libSQL: connects in cloud mode