CLASSSCAN is a Flutter Web-based QR attendance system built as a Progressive Web Application (PWA+SPA) for classroom use in schools. Developed as part of a STEM capstone research paper at Our Lady of Fatima University โ Quezon City Campus (A.Y. 2025โ2026), ClassScan digitizes classroom attendance, eliminates manual errors, and enforces a four-layer anti-proxy system to prevent fraudulent check-ins. All system development and implementation were carried out by a single contributor โ SoliDeoCode.
- Teacher Portal โ Manage classes, enroll students, configure attendance rules, and monitor sessions live from a dedicated dashboard
- Kiosk Scanner โ A standalone QR scanning station that handles student time-in and time-out; runs anonymously with no login required
- Student Portal โ Students access their daily personal QR code, join classes by code, and view their enrollment status
- Four-Layer Anti-Proxy System โ Date-bound QR codes, teacher verification, optional GPS proximity validation, and device scan cooldown work together to make proxy attendance extremely difficult
- Real-Time Session Monitoring โ Live attendance updates pushed to the teacher dashboard the moment a student scans at the kiosk
- Configurable Attendance Rules โ Per-class settings for on-time window, scan cooldown, time-out minimum, and GPS proximity threshold
- Automated Status Computation โ Attendance statuses (Present On-Time, Present Late, Absent) are calculated automatically based on session start time
- Excel & CSV Export โ One-tap export of any session's attendance records; unverified sessions produce a CSV fallback to ensure no data is ever lost
- Ghost Session Cleanup โ Unverified sessions older than 12 hours are automatically deleted to keep the database clean
- Remote Session Control โ Teachers can force-end any live kiosk session directly from the dashboard; the kiosk is notified in real-time
- Single-Device Enforcement โ Students can only be signed in on one device at a time; concurrent sessions are automatically invalidated
- Email Domain Restriction โ Teachers can restrict class enrollment to specific institutional email domains (e.g.
fatima.edu.ph)
This system was developed as part of a STEM Capstone Research Paper titled:
"Web-Assisted Attendance Monitoring System with Classroom-Based QR Scanner"
Led by Grade 12 STEM 12 1-1P students of Our Lady of Fatima University โ Quezon City Campus, Academic Year 2025โ2026:
| Role | Name |
|---|---|
| Head Proponent | Yulde, Jin Deca R. |
| Co-Researcher | Aggabao, Olivia C. |
| Co-Researcher | Aรฑabieza, Maury Joahna B. |
| Co-Researcher | Carmona, Rhevie Yvonne M. |
| Co-Researcher | De Guzman, Princess S. |
| Co-Researcher | Estoque, Francisco Light S. |
| Co-Researcher | Maningas, Sebastian Kaidar M. |
| Co-Researcher | Maragay, Khellie Arvey C. |
| Co-Researcher | Musรฑgi, Sunshine C. |
| Co-Researcher | Suapengco, Azeriah Jedi V. |
- Flutter Web (Dart) โ Cross-platform PWA development targeting modern browsers
- Firebase Firestore โ Real-time cloud database for sessions, classes, and attendance records
- Firebase Authentication โ Google Sign-In for teachers and students; anonymous auth for the kiosk
- Google Sign-In / Google Sign-In Web โ Institutional account authentication
mobile_scannerโ QR code scanning via device cameraqr_flutterโ QR code generation for teacher and student identity tokenscloud_firestoreโ Firestore SDK for real-time data syncfirebase_authโ Authentication state managementproviderโ State management viaChangeNotifierexcelโ In-browser Excel (.xlsx) file generation and exportgeolocatorโ GPS coordinate retrieval for location-based attendance validationtoastificationโ Toast notification system for real-time feedbackhugeiconsโ Icon libraryanimate_on_hoverโ Hover micro-interactionswebโ Dart web interop for browser-native file downloads
| [ โยฏ] | [ โยฏ] |
|---|---|
- Flutter SDK
^3.11.1 - A Firebase project with Firestore, Authentication (Google provider), and anonymous sign-in enabled
flutterfire configurerun to generatefirebase_options.dart
# Clone the repository
git clone https://github.com/DanRyuzaki/ClassScan.git
cd ClassScan
# Install dependencies
flutter pub get
# Run on web (Chrome)
flutter run -d chromeflutter build web --releaseDeploy the contents of build/web/ to any static hosting provider (Firebase Hosting, Vercel, Netlify, etc.).
This project is licensed under the Apache License 2.0.
See LICENSE for details or visit Apache 2.0.
Free to use, modify, and distribute โ with attribution. Commercial use permitted.
This is a non-commercial project sustained solely through voluntary donations.
SoliDeoCode
- GitHub: @DanRyuzaki
- Facebook: @SoliDeoCode
- Portfolio: danryuzaki.is-a.dev
ClassScan Support
- Website: classscan.web.app