Originally published byDev.to
ExamLock
Secure exams, live classroom workflows, and real-time proctor intervention.
DEMO
ExamLock is more than a lock screen for tests. It is a full classroom and assessment platform with:
- A Flutter mobile app for both students and teachers
- Role-based home layouts (RBAC) for student and teacher workflows
- A web dashboard used mainly for larger-screen convenience and expanded operations
- Shared real-time data and notifications through Firebase
What ExamLock Covers
- Classroom management (create/join/archive classes)
- Post workflows (announcements, files, and activities)
- Exam creation (timer, question sheet, security settings)
- Live proctor monitoring with lock/unlock controls
- Submission review, auto-checking, manual essay scoring, and grade exports
Mobile App Features (RBAC: Student + Teacher)
- Role-aware authentication (email/password + Google Sign-In)
- Role-based routing and home layouts (
studentandteacher)
Student Side (Mobile)
- Join classes using class code
- View class stream with announcements, files, and activities
- Take exams with countdown timer and continuous answer auto-save
- Exam pass (
exampass) before start (if required) - Lock passcode re-entry if exam is locked
- Anti-screenshot support
- Anti-copy/paste restrictions
- Immersive mode + background detection during active exam
- Real-time exam status sync (
Good,Warning,Locked,Ended) - View graded results and score details
- Notifications and unseen grade indicators
- Archive handling for joined classes
Teacher Side (Mobile)
- Dedicated teacher home layout with sections such as Classes, Activities, Notes, Students, Sheet, and Archive
- Create and manage classes
- Publish announcements, files, and activities
- Configure exam security (
antiScreenshot,antiCopyPaste,examLock,randomize, passcode, exampass) - Build or attach test sheets and answer keys
- Monitor students during active exams (test room flow)
- Review submissions and grading flows
- Manage students, class archive, and teacher notes
Web Dashboard (Teacher/Proctor) Features
- Web is primarily the teacher convenience layer for bigger screens and faster class operations
- Teacher-only web login and role validation
- Class management: create classes, share class code, manage enrollment, archive/unarchive/delete
- Post management: announcements, file/link posts, and activity posts
- Activity types:
exam,quiz,test,assignment,homework,prelim,midterm,semi-finals,finals - Activity security setup: countdown, anti-screenshot, anti-copy/paste, randomize, exam lock, passcode, exampass
- Saved sheet attachment and reusable test sheet management
- Real-time Test Room with status cards, lock/unlock, and lock all/unlock all
- Turn-in review with objective auto-check and manual essay scoring
- Class record controls: category percentage weights + Excel export
- Personal teacher notes and profile/password management
Tech Stack
| Layer | Technologies |
|---|---|
| Mobile (Student + Teacher App) | Flutter, Dart, Material UI, flutter_windowmanager_plus
|
| Web (Teacher Dashboard) | HTML5, CSS3, Vanilla JavaScript (ES modules), Firebase Web SDK |
| Backend/Data | Firebase Realtime Database, Firebase Authentication, Cloud Firestore |
| Notifications | Firebase Cloud Messaging (FCM), Cloud Functions (cloud_functions/) |
| Hosting | Firebase Hosting, Netlify scripts |
Platform Architecture
ExamLock runs as a dual-client system:
- Mobile client (
lib/): student and teacher experiences under RBAC - Web client (
web/): teacher-focused convenience interface for larger displays and extended workflows
Both clients read/write shared Firebase nodes for classes, posts, testroom status, submissions, and scores.
How to Use (Student Mobile)
- Sign up/login and select Student role.
- Join a class using the class code provided by your teacher.
- Open the activity/exam from your class feed.
- Enter exam pass if required, then start the exam.
- Answer questions while timer and progress auto-save run in real time.
- If locked, enter the required passcode to continue.
- Submit before timeout and review grades/results when released.
How to Use (Teacher: Mobile or Web)
- Login using a Teacher account (mobile app or web portal).
- Create/open a class, then share class code with students.
- Create posts:
- Announcement for updates
- File/link for materials
- Activity for exams/quizzes/tests/assignments
- For activities, set security/timer options and attach or create a test sheet.
- Open Test Room during live exams to monitor students and lock/unlock as needed (mobile or web).
- Review turn-ins, score essays, and publish/update grades.
- Use web for heavier convenience tasks like class record percentage setup and Excel export.
Notes
- ExamLock is designed as a full classroom + assessment system, not only exam locking.
- Real-time behavior depends on Firebase Realtime Database synchronization.
- For production, enforce strict Firebase Security Rules and role-based access.
🇺🇸
More news from United StatesUnited States
NORTH AMERICA
Related News
How Braze’s CTO is rethinking engineering for the agentic area
11h ago
Amazon Employees Are 'Tokenmaxxing' Due To Pressure To Use AI Tools
22h ago
KDE Receives $1.4 Million Investment From Sovereign Tech Fund
2h ago
Instagram’s new ‘Instants’ feature combines elements from Snapchat and BeReal
2h ago
Six Claude Code Skills That Close the AI Agent Feedback Loop
2h ago


