Skip to content

Repository files navigation

s0

๐–ฃฏ ๐—–๐—น๐—ฎ๐˜€๐˜€๐—ฆ๐—ฐ๐—ฎ๐—ป

Effortless Attendance, Empowered Education.

Developed by SoliDeoCode Github Star Github Fork License: Apache 2.0 Version 1.0.0


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.

โœฆ Key Features

  • 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)

โœฎ Project Background

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.

๐Ÿ–ณ Technologies

Flutter Firebase Dart

Core Framework

  • Flutter Web (Dart) โ€” Cross-platform PWA development targeting modern browsers

Backend & Services

  • 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

Key Packages

  • mobile_scanner โ€” QR code scanning via device camera
  • qr_flutter โ€” QR code generation for teacher and student identity tokens
  • cloud_firestore โ€” Firestore SDK for real-time data sync
  • firebase_auth โ€” Authentication state management
  • provider โ€” State management via ChangeNotifier
  • excel โ€” In-browser Excel (.xlsx) file generation and export
  • geolocator โ€” GPS coordinate retrieval for location-based attendance validation
  • toastification โ€” Toast notification system for real-time feedback
  • hugeicons โ€” Icon library
  • animate_on_hover โ€” Hover micro-interactions
  • web โ€” Dart web interop for browser-native file downloads

โฟป Screenshots

[ โ—‰ยฏ] [ โ—‰ยฏ]
s1 s2
s3 s4
s5 s6
s7 s8
s9 s10
s11 s12
s13 s14

โš™ Getting Started

Prerequisites

  • Flutter SDK ^3.11.1
  • A Firebase project with Firestore, Authentication (Google provider), and anonymous sign-in enabled
  • flutterfire configure run to generate firebase_options.dart

Installation

# 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 chrome

Build for Production

flutter build web --release

Deploy the contents of build/web/ to any static hosting provider (Firebase Hosting, Vercel, Netlify, etc.).


๐Ÿ—Ž License

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.


โœ‰๏ธŽ Contact

SoliDeoCode

ClassScan Support


Soli Deo Gloria ยท ClassScan ยฉ 2026

Buy Me A Coffee

About

A QR-based web attendance system designed to make classroom attendance fast, accurate, and effortless for teachers and students.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages