A platform that aims to stop cheating in online exams with the power of AI and ML.
This is the my upgraded version of Prathamesh Mutkure's Anti-Cheat Exam Web App with new features:
- Randomize Questions & Answers Order
- Disable Copy Paste, Print Screen and Open DevTools Hotkeys
- DevTools Detection & Protection
- Content Management System for Managing Exams, Questions & Students
- Credibility Score System & View Exam Results
-
- Landing Page which lists all the features of the app
-
- Fast and secure authentication
- JWT tokens used to persist the authentication state
-
-
Shows bried information about all the exams assigned to the user
-
The user can start an exam only at the correct timeslot
-
If there are no exams available, you can go to the CMS website to create a new one
-
-
-
Simple and minimalistic exam page where the user can answer MCQ-based questions
-
The user can view and track their progress
-
-
AI-powered face motion detector
-
I've used Google's Mediapipe library to track the motion of the user's face
-
This app can check if a user is trying to cheat by monitoring the co-ordinates of their face
-
The face detection is performed on client without sending anything to the server
-
Thus, Face detection is fast and real-time
Anti-Cheat.Web.Demo.MP4.mp4
-
-
Next.js (React)
-
TypeScript
-
Redux
-
Axios
-
Google Mediapipe
-
NextAuth with JWT
-
First setup the backend by following the instructions in this repository
-
Use ID '20198235' and password 'namkiet3010' to login or you can create a new student account at CMS website
-
Allow permissions for camera and mic when asked
-
Make sure the
BACKEND_URL
is appended with/api
-
Clone the project
https://github.com/namkiit/auto-proctoring-exam-web-app.git
-
Install all the packages
npm install
-
Create a
.env
file and set the following variables or as shown in the.env.example
file-
NEXT_PUBLIC_BACKEND_URL
-
NEXTAUTH_SECRET
-
NEXTAUTH_URL
(must be identical to the url of the app)
-
-
Run the app
npm run dev
-
Open
http://localhost:3000
with your browser to see the app
Base project belongs to Prathamesh Mutkure. You can know more about him at Twitter or prathamesh.co