How cervtax/qr-attendance-system works
EScanBai is a browser-based student QR and attendance app. Users create an account or sign in, save a student profile and display its QR code, then scan a code to record attendance time in or out and review the log. The excerpts show browser-local persistence and page guards, not a server-side service. Dashboard source is partial, so camera/image decoding details and some UI connections are omitted where the call path is not visible.
Main entry points: dashboard.js Camera and image capture · common.js Account and session state · auth.js Sign in and signup
Components 15
Identity and access
- Sign in and signup
auth.js
Student QR
- Student profile
dashboard.js - QR display and download
dashboard.js
Attendance
- Camera and image capture
dashboard.js - QR decoding
dashboard.js - Scan validation
dashboard.js - Attendance records
dashboard.js - Attendance log view
dashboard.js
Shared browser runtime
- Account and session state
common.js - Page access routing
common.js
Other components
- User
- QRCode library
- jsQR library
- Browser local storage
- Browser camera and files
Connections 22
- User → Sign in and signup: signs in
auth.js - Sign in and signup → Account and session state: reads and writes
auth.js - Sign in and signup → User: redirects to dashboard
auth.js - Page access routing → Account and session state: reads session
common.js - Page access routing → User: redirects pages
common.js - User → Student profile: edits profile
dashboard.js - Student profile → Account and session state: reads and writes profile
dashboard.js - Student profile → QR display and download: shows saved profile
dashboard.js - QR display and download → QRCode library: renders QR
dashboard.js - User → QR display and download: downloads QR
dashboard.js - User → Camera and image capture: starts scan
dashboard.js - Camera and image capture → Browser camera and files: requests camera
dashboard.js - User → Camera and image capture: selects image
dashboard.js - Camera and image capture → QR decoding: provides image
dashboard.js - Camera and image capture → jsQR library: checks availability
dashboard.js - QR decoding → Scan validation: passes decoded text
dashboard.js - User → Scan validation: chooses time mode
dashboard.js - Scan validation → Attendance records: reads and appends
dashboard.js - Attendance records → Attendance log view: supplies records
dashboard.js - User → Attendance log view: reviews or clears
dashboard.js - Account and session state → Browser local storage: persists values
common.js - Attendance records → Browser local storage: persists records
dashboard.js