Document 1
Document 1
CHAPTER-1
INTRODUCTION
1.1 Background
In the age of digital transformation, online education and assessments have gained rapid
momentum, especially in the wake of global challenges like the COVID-19 pandemic. With
the shift from traditional classrooms to digital platforms, educational institutions and
certifying bodies are increasingly conducting exams online. This shift demands a reliable,
secure, and scalable platform that can ensure the integrity of the assessment process.
However, existing platforms often fall short in areas like real-time proctoring, advanced
monitoring, and automated behavior analysis. While tools like Google Forms and Microsoft
Forms support basic question formats, they lack invigilation capabilities, making them prone
to academic dishonesty.
ExamGo App addresses these issues by integrating modern technologies like Flutter for
cross-platform UI, Firebase for secure real-time backend operations, and AI/ML models to
support automatic flagging of suspicious behavior. The system is designed to provide real-
time camera, microphone, and screen sharing features that allow exam conductors to
supervise multiple participants simultaneously, while also enabling AI-driven proctoring for
behavior anomalies like face detection failures, multiple people detection, or muted
microphones during speech.
Dept. of CSE,MBSCET 1
APPLICATION DEVELOPMENT
Existing Problems:
Lack of multi-channel monitoring (camera, mic, and screen) creates blind spots.
Platforms lack a scalable and intuitive dashboard for exam conductors to manage
hundreds of participants efficiently.
1.3 Objectives
The main goal of the ExamGo App is to create a secure and intelligent platform for
conducting online examinations, where both exam conductors and participants can perform
their roles seamlessly while maintaining the highest standards of fairness and data security.
Specific Objectives:
1. Design a cross-platform application using Flutter to support mobile and web users.
3. Enable admins to create and manage exams, generate unique keys, and assign them to
participants.
4. Allow participants to access exams using the unique key, ensuring privacy and
controlled access.
Dept. of CSE,MBSCET 2
APPLICATION DEVELOPMENT
7. Integrate AI/ML algorithms to monitor user behavior, raise alerts, and auto-flag
suspicious activities.
In-Scope Features:
For Admin:
View participant activities in real time via camera, mic, and screen.
For Participants:
Dept. of CSE,MBSCET 3
APPLICATION DEVELOPMENT
Technical Scope:
Dept. of CSE,MBSCET 4
APPLICATION DEVELOPMENT
Dept. of CSE,MBSCET 5
APPLICATION DEVELOPMENT
CHAPTER-2
LITERATURE REVIEW
Fig: 2.1 Workflow of an Online Exam System —From Exam Preparation to Result Generation
Dept. of CSE,MBSCET 6
APPLICATION DEVELOPMENT
Answer Submission: Secure and reliable channels for candidates to submit answers.
Evaluation and Results: Supports automated grading for objective questions and
manual evaluation for subjective ones.
Advantages:
Challenges:
Open-source Platforms:
Commercial Platforms:
ProctorU, ExamSoft, Talview: Specialized in remote proctoring with live and AI-
based monitoring.
Comparison of Platforms:
Dept. of CSE,MBSCET 7
APPLICATION DEVELOPMENT
Many students feel uncomfortable being constantly watched. Issues arise around:
Automated systems often flag normal behaviors—like looking away or adjusting posture—as
suspicious. This causes unnecessary panic and questioning.
Students may use dual devices, hidden earpieces, or remote control software that existing
systems cannot detect accurately
Dept. of CSE,MBSCET 8
APPLICATION DEVELOPMENT
Rapid Development: Hot reload and rich widget libraries allow fast iterations.
One app for students and admins, deployed across multiple devices
Support for adaptive design and responsiveness for various screen sizes
Firestore: A real-time NoSQL cloud database used to store exam data, flags, user
activity
Firebase Storage: Stores exam materials, identity proofs, and evidence (e.g., flagged
screenshots)
Firebase Rules: Ensures access control—students can’t view admin data and vice
versa
Dept. of CSE,MBSCET 9
APPLICATION DEVELOPMENT
Face Detection (OpenCV): Ensures only one face is present during the exam.
Anomaly Detection (ML Models): Flags behavior outside learned “normal” patterns.
Identified Gaps:
Existing systems lack integration between frontend UX, backend real-time data sync,
and AI-powered surveillance.
Built using Flutter, providing unified access across Android, iOS, and web.
Dept. of CSE,MBSCET 10
APPLICATION DEVELOPMENT
This unique combination makes ExamGo a necessary and timely solution that addresses
technical, ethical, and usability gaps in the current landscape of online exams.
CHAPTER-3
PROJECT OVERVIEW
The ExamGo App leverages modern technologies including Flutter for cross-platform
frontend development, Firebase for secure backend services, and AI/ML models for
automated invigilation and behavior analysis. It bridges the gap between examiners and
examinees by offering an ecosystem that supports full lifecycle management—from exam
creation to evaluation.
Dept. of CSE,MBSCET 11
APPLICATION DEVELOPMENT
Create exams with customizable time limits, instructions, and question types.
o Multiple faces
o Prolonged absence
Simple UI for exam participants with clearly defined questions and timers.
Dept. of CSE,MBSCET 12
APPLICATION DEVELOPMENT
Role Overview: Acts as the examiner and supervisor of the exam session.
Primary Responsibilities:
Primary Responsibilities:
Dept. of CSE,MBSCET 13
APPLICATION DEVELOPMENT
Admins can:
Create/update/delete exams.
Dept. of CSE,MBSCET 14
APPLICATION DEVELOPMENT
Dept. of CSE,MBSCET 15
APPLICATION DEVELOPMENT
CHAPTER-4
METHODOLOGY
To manage the development efficiently, several core Scrum practices were implemented:
ProductBacklog:
A prioritized list of all user stories, features, enhancements, and bug fixes. The
backlog was continuously refined and updated as new requirements emerged from
testing and stakeholder feedback.
SprintPlanning:
Weekly sprints were conducted, where the team selected user stories from the product
backlog based on priority and capacity. Each sprint had clear goals, such as
developing a specific module (e.g., student dashboard, proctoring view, or exam
creation panel).
DailyStandups:
Short, time-boxed meetings were held every day to keep the team aligned. Each
member shared updates on what was done, what would be done next, and any
blockers faced. This helped in early identification of obstacles and quick decision-
making.
SprintReviewRetrospective:
At the end of each sprint, the team demonstrated completed functionalities to
stakeholders for feedback (Sprint Review). Post-demo, internal retrospectives were
Dept. of CSE,MBSCET 16
APPLICATION DEVELOPMENT
conducted to discuss what went well, what didn’t, and how the team could improve in
the next sprint. This supported a culture of continuous learning and adaptation.
IncrementalDelivery:
The product evolved sprint by sprint. Each increment was a working and testable
piece of the application—starting from UI wireframes to integrated Flutter-Firebase
modules, and later, AI-powered proctoring features.
ParallelDevelopmentEfficiency:
The modular nature of Scrum sprints allowed the team to concurrently build the
Flutter-based frontend, configure the Firebase backend, and integrate ML models for
behavioral monitoring. Tasks could be split and distributed effectively across teams.
FlexibilitytoIncorporateFeedback:
As the app involved multiple user roles (admin, proctor, student), constant UI/UX
feedback was crucial. Scrum allowed quick iterations, enabling the team to pivot.
RiskMitigationThroughIteration:
Complex features like live proctoring and AI flagging were prototyped, tested, and
improved gradually across sprints, minimizing the risk of large-scale failure. Early
feedback helped validate the approach before full-scale implementation.
TransparencyandProgressVisibility:
Scrum ceremonies ensured everyone remained on the same page. Burn-down charts,
backlog tracking, and sprint reviews made progress visible and measurable,
improving accountability and project forecasting.
Adaptabilityforunforeseenchallenges:
Whether dealing with model accuracy issues or integration roadblocks with Firebase
services, Scrum allowed swift reprioritization and task adjustment without derailing
the entire project timeline.
Dept. of CSE,MBSCET 17
APPLICATION DEVELOPMENT
Analyzed existing tools (Google Forms, Testmoz, etc.) and their limitations.
Defined key pain points like impersonation, cheating, and manual review workload.
Dept. of CSE,MBSCET 18
APPLICATION DEVELOPMENT
Tools Used:
Design Highlights:
Exam Creator Panel: Simple form-based interface for adding exam parameters.
Live Monitoring Grid: Admin dashboard showing live camera/audio feeds and
alerts.
Dept. of CSE,MBSCET 19
APPLICATION DEVELOPMENT
Firebase Authentication:
o OTP/Password login
Cloud Firestore:
Cloud Functions:
Firebase Hosting:
Dept. of CSE,MBSCET 20
APPLICATION DEVELOPMENT
Verified participants were only allowed access during valid exam windows.
Screen Capture: Ensures users don’t navigate away from the test.
Audio Classification:
3. Alert Generation:
Dept. of CSE,MBSCET 21
APPLICATION DEVELOPMENT
Agile Justification:
Firebase Justification:
AI/ML Justification:
Dept. of CSE,MBSCET 22
APPLICATION DEVELOPMENT
CHAPTER-5
SPECIFICATION REQUIREMENTS
Live Proctoring Setup: Grant access to webcam, mic, and screen before starting the
test.
Dept. of CSE,MBSCET 23
APPLICATION DEVELOPMENT
Exam Creation: Add title, duration, start time, end time, instructions, and question
set (import/export supported).
Monitoring Panel: Live feed of students, AI-flag alerts, and ability to take real-time
actions (e.g., warning popups, pause exam).
Result Processing: Automated scoring for MCQs, manual evaluation for long-form
answers, exportable reports in CSV/PDF formats.
o Multiple faces
Notification System: Real-time alerts to admin dashboards and student devices for
warnings and errors.
5.2.1 Performance
Must support at least 1000 concurrent users during peak load without crashes.
5.2.2 Scalability
5.2.3 Reliability
Dept. of CSE,MBSCET 24
APPLICATION DEVELOPMENT
All critical events (e.g., exam start, answer save, flag triggers) are logged redundantly.
5.2.4 Usability
Accessibility: Support for larger font sizes, high contrast mode, and voice narration
(optional feature).
5.2.5 Security
Dept. of CSE,MBSCET 25
APPLICATION DEVELOPMENT
Defines the hardware specifications for both developers and end-users for seamless
usage and development.
Data Minimization: Only necessary data (e.g., flags, video frames on violation) are
recorded.
Dept. of CSE,MBSCET 26
APPLICATION DEVELOPMENT
Retention Policies:
Access Logs: Every data access event is logged and can be audited.
Applies to EU users
Requires:
Ensures:
Mandates:
o Strong encryption
Dept. of CSE,MBSCET 27
APPLICATION DEVELOPMENT
Third-party APIs: Only compliant tools with published privacy terms used
CHAPTER-6
SYSTEM ANALYSIS
These are directly derived from what the users expect the system to perform:
Exam Management
o Exams must support both objective (MCQ) and subjective (written, file
upload) formats.
Dept. of CSE,MBSCET 28
APPLICATION DEVELOPMENT
o The system must activate webcam, microphone, and screen share (if enabled).
Violation Logging
o Exams must be auto-submitted at the end of the timer or after major violations.
o Admins must access exam statistics: average scores, highest marks, violation
count.
Security: Data must be encrypted using HTTPS and stored with encryption at rest.
Availability: The system should aim for 99.9% uptime during examination periods.
Compatibility: The app should run seamlessly on mobile, tablet, and web platforms.
Dept. of CSE,MBSCET 29
APPLICATION DEVELOPMENT
6.2.1 Student
Permissions:
o Register/Login
Restrictions:
6.2.2 Admin
Permissions:
Dept. of CSE,MBSCET 30
APPLICATION DEVELOPMENT
Advanced Access:
Permissions:
Restrictions:
Responsibilities:
Student
Admin
Assistant
AI Engine/System
Dept. of CSE,MBSCET 31
APPLICATION DEVELOPMENT
OAuth
Student Join Exam Start the exam after system check and
permissions
Student Submit Answer Submit exam either manually or through
auto-submit
Admin Create/Manage Schedule exams, manage duration,
Exams questions, and user permissions
Admin Monitor Students Watch live camera/mic feeds, respond to
flags from AI
Assistant View Live Feed & Assist admin in managing student behavior
Report during live exams
AI Analyze Streams Monitor visual/audio input for cheating
Engine detection
AI Flag Violations Log and report activities such as missing
Engine face or mobile usage
Framework Compatibility: Flutter allows rapid development for Android, iOS, and
Web with one codebase.
Backend Support: Firebase is reliable, scalable, and easy to integrate with Flutter.
Cross-Platform Availability: Users can access exams from multiple devices with
consistent performance.
Conclusion: The technical ecosystem fully supports the development and scalability of
ExamGo.
Tooling Cost: Most tools (Flutter, Firebase, VS Code, Git) are free or open-source.
Dept. of CSE,MBSCET 32
APPLICATION DEVELOPMENT
AI Cost: Minimal as models run on the client side using existing libraries.
Conclusion: The solution is cost-effective, especially for academic and institutional use.
Support and Documentation: Strong community and support from Google (Flutter,
Firebase).
User Readiness: Most students already use mobile/web apps and can adapt quickly to
this system.
CHAPTER-7
SYSTEM DESIGN
Dept. of CSE,MBSCET 33
APPLICATION DEVELOPMENT
o Captures camera feed, screen activity, and microphone input for AI analysis.
o Stores user data, exam questions, responses, violation logs, and results.
5. Security Layer
Dept. of CSE,MBSCET 34
APPLICATION DEVELOPMENT
Top-Level Collections:
/users
/exams
/submissions
Dept. of CSE,MBSCET 35
APPLICATION DEVELOPMENT
/violations
/sessions
o Manages real-time exam states for students (timer, camera active, last seen).
Design Benefits:
Dept. of CSE,MBSCET 36
APPLICATION DEVELOPMENT
5. Results Management:
o Access responses
o Publish scores
Design Features:
Dept. of CSE,MBSCET 37
APPLICATION DEVELOPMENT
📷
A screen flow chart with key UI screens for both student and admin roles.
External Entities:
o Student
o Admin
Processes:
o Authenticate User
o Deliver Exam
o Monitor Activity
o Store/Analyze Data
Data Stores:
o Firestore Database
Interactions:
1. Start Exam
2. Capture Inputs
Dept. of CSE,MBSCET 38
APPLICATION DEVELOPMENT
3. Analyze Behavior
o AI flags violations
o Sends to violations DB
4. Submit Exam
o Auto/manual trigger
5. Result Computation
o Updates result DB
Firestore DB
Proctoring AI Module
Admin Dashboard
Dept. of CSE,MBSCET 39
APPLICATION DEVELOPMENT
Security Design:
Layer Mechanism
Authentication Firebase Auth with secure login (email/password, OAuth)
Authorization Role-based Firebase Rules; admins/students only see
allowed data
Session JWT (ID tokens) for verifying user requests
Management
Data Transport HTTPS encryption ensures secure client-server
communication
Data Storage Firestore provides encryption at rest; no sensitive data stored
in client
Privacy Webcam/mic access requires user consent; turned off post-
exam
Violation Evidence Only saved in cloud with restricted access; students can’t
view others’ logs
CHAPTER-8
Dept. of CSE,MBSCET 40
APPLICATION DEVELOPMENT
IMPLEMENTATION
Development Strategy:
Package Purpose
Dept. of CSE,MBSCET 41
APPLICATION DEVELOPMENT
Architecture Highlights:
o Indexed queries enabled fast filtering of user submissions and exam logs.
Dept. of CSE,MBSCET 42
APPLICATION DEVELOPMENT
Used Firebase’s scheduled export for weekly backups of all collections to Cloud
Storage.
Firebase Authentication:
Role Definition:
o Upon login, user claims are checked and role assigned (student, admin).
Security Measures:
Firestore Rules:
Dept. of CSE,MBSCET 43
APPLICATION DEVELOPMENT
Features Implemented:
o Captured frames at fixed intervals (every 2–5 seconds) and analyzed on-
device.
Voice/Noise Detection:
Admin Tools:
Dept. of CSE,MBSCET 44
APPLICATION DEVELOPMENT
Admin dashboard view mockup showing student camera feeds and violation stats in real-
time.
AI Models Used:
FaceMesh (TensorFlow.js):
Storage of Evidence:
Evidence screenshots and logs pushed to Firestore with secure access URLs.
Dept. of CSE,MBSCET 45
APPLICATION DEVELOPMENT
Submission Process:
On clicking submit:
No duplicate submissions
Backend Evaluation:
Result Access:
Dept. of CSE,MBSCET 46
APPLICATION DEVELOPMENT
Dept. of CSE,MBSCET 47
APPLICATION DEVELOPMENT
CHAPTER-9
TESTING AND EVALUATION
Validate functionality across multiple devices and platforms (Android, Web, iOS).
Phases of Testing:
Pre-Development Planning: Defined testing goals, selected tools, and set up test
environments.
Acceptance Testing: Involved real users (students, admins) to validate usability and
meet business requirements.
Regression Testing: Ensured new updates did not break existing functionalities.
Testing Environments:
Dept. of CSE,MBSCET 48
APPLICATION DEVELOPMENT
Code Coverage: Achieved over 85% test coverage for critical modules using
flutter_test.
Mocking: Used mockito to simulate Firebase Auth and Firestore behaviors, avoiding
dependence on real backend during tests.
Firebase Emulator Suite was essential to emulate Firestore and Auth behavior in
integration tests, facilitating automated testing pipelines.
Error Handling: Tests covered scenarios such as network failures, invalid inputs,
and session expiry to verify app resilience.
dart
CopyEdit
testWidgets('Student can login and complete exam flow', (WidgetTester tester) async {
await tester.pumpWidget(MyApp());
Dept. of CSE,MBSCET 49
APPLICATION DEVELOPMENT
// Simulate login
await tester.tap(find.byKey(Key('loginButton')));
await tester.pumpAndSettle();
await tester.tap(find.byKey(Key('submitButton')));
await tester.pumpAndSettle();
});
Dept. of CSE,MBSCET 50
APPLICATION DEVELOPMENT
Optimization Techniques:
Cached static resources like exam questions locally for quicker UI rendering.
Dept. of CSE,MBSCET 51
APPLICATION DEVELOPMENT
Metrics Collected:
Feedback Highlights:
Some users suggested customizable exam timer warnings, added as optional features.
API Security:
Dept. of CSE,MBSCET 52
APPLICATION DEVELOPMENT
Privacy Compliance:
Data Minimization: Only essential data (e.g., video snapshots during violations)
stored.
Data Access Controls: Only authorized admins can view violation evidence.
Retention Policy: Exam data automatically deleted 6 months after exam completion.
Static Code Analysis via SonarQube to detect code smells and security risks.
Incident Response:
Prepared a data breach response plan including user notification and mitigation steps.
Dept. of CSE,MBSCET 53
APPLICATION DEVELOPMENT
CHAPTER-10
RESULTS AND DISCUSSION
To support scalable, secure, and privacy-aware exam management using Flutter and
Firebase.
Result Highlights:
Deployed stable Android and Web versions using a single Flutter codebase.
Integrated real-time webcam and mic feed monitoring using WebRTC and
MediaStream.
UI/UX validated through usability testing showed a 96% success rate in task
completion.
Illustration Suggestion:
Dept. of CSE,MBSCET 54
APPLICATION DEVELOPMENT
This section compares planned objectives with the results obtained, showing the level of
alignment between project vision and execution.
Dept. of CSE,MBSCET 55
APPLICATION DEVELOPMENT
Insights:
It lacks advanced offline support, but compensates with real-time flagging and
monitoring.
Unlike expensive enterprise tools, ExamGo offers a freely usable framework for
educational institutions with basic technical infrastructure.
Issue: Some low-end devices experienced lag when rendering live webcam feeds.
Issue: False positives during legitimate movements like stretching or looking away
briefly.
Addressed by:
Dept. of CSE,MBSCET 56
APPLICATION DEVELOPMENT
5. Testing Limitations
Performance Improvements:
App startup time reduced by 1.4s through image lazy loading and Firestore indexing.
Alert system for lost connectivity, low bandwidth, and inactivity warnings added.
Admin dashboard upgraded to include CSV export, live logs, and manual override for
flagged violations.
Security Upgrades:
Final Discussion
The ExamGo App demonstrates how modern, open-source technologies like Flutter,
Firebase, and TensorFlow can be combined to create a cost-effective, scalable, and secure
exam management system. It addresses real-world constraints such as:
Dept. of CSE,MBSCET 57
APPLICATION DEVELOPMENT
Dept. of CSE,MBSCET 58
APPLICATION DEVELOPMENT
CHAPTER-11
CONCLUSION AND FUTURE WORK
11.1 Conclusion
The ExamGo App project has culminated in the creation of a robust, intelligent, and user-
friendly online examination system that caters to the modern digital education ecosystem.
It has successfully integrated cross-platform app development with AI-based proctoring
to provide a secure, scalable, and automated assessment experience. The combination of
Flutter and Firebase ensured real-time synchronization and seamless front-end to backend
communication, while TensorFlow.js and WebRTC provided intelligent behavior
monitoring through the browser, without the need for external installations.
The app not only enhances academic integrity by minimizing cheating but also optimizes
operational efficiency for institutions. Students can take exams remotely while being
monitored securely, and administrators can set up, manage, and evaluate exams with
minimal manual intervention. This marks a significant shift from traditional exam
models, making ExamGo an innovative contribution to the field of digital education.
Real-time Systems: Gained expertise in handling live data with minimal latency
using Firebase Firestore and implementing real-time video/audio streaming with
WebRTC.
Dept. of CSE,MBSCET 59
APPLICATION DEVELOPMENT
Testing and Validation: Emphasized thorough testing through unit, integration, and
usability testing, identifying and fixing bugs proactively while improving the overall
user experience.
Technical Enhancements
Offline Mode Support: Implement a caching mechanism that enables users to take
exams offline and automatically sync data once an internet connection is re-
established.
Modular Plugin System: Allow developers to integrate third-party tools such as anti-
plagiarism software, language translators, or accessibility features.
AI/ML Advancements
Global Dataset Collection: Expand the model training dataset to include diverse
demographic samples for fairer and more reliable detection across varied user bases.
Institutional Features
Live Human Proctor Interface: Provide an interface for live human proctoring
support alongside AI, combining the strengths of both methods.
Dept. of CSE,MBSCET 60
APPLICATION DEVELOPMENT
The experience gained through this project underscores the importance of thoughtful
design, interdisciplinary integration, and agile development practices. As education
continues to embrace digital transformation, solutions like ExamGo will play a crucial
role in shaping the future of remote learning and evaluation.
Dept. of CSE,MBSCET 61
APPLICATION DEVELOPMENT
REFERENCES
1. Google Firebase Documentation – https://firebase.google.com/docs
Dept. of CSE,MBSCET 62
APPLICATION DEVELOPMENT
APPENDICES
A. Screenshots of Application
B. Code Snippets
selectedCamera,
ResolutionPreset.high,
enableAudio: true,
);
await _cameraController.initialize();
FirebaseFirestore.instance.collection('submissions').add({
'userId': currentUser.uid,
'answers': userAnswers,
'examId': examId,
Dept. of CSE,MBSCET 63
APPLICATION DEVELOPMENT
'timestamp': FieldValue.serverTimestamp(),
});
model.detect(video).then(predictions => {
else console.log(predictions);
});
Collections:
Library: TensorFlow.js
Violations Detected:
o Multiple faces
Dept. of CSE,MBSCET 64
APPLICATION DEVELOPMENT
E. User Manual
1. Login as Admin
Dept. of CSE,MBSCET 65
APPLICATION DEVELOPMENT
Dept. of CSE,MBSCET 66