https://github.com/prathamesh-mutkure/anti-cheat-app-web
An Online Exam Platform which detects cheating with the power of AI and ML
https://github.com/prathamesh-mutkure/anti-cheat-app-web
javascript next-auth nextjs react typescript
Last synced: 3 months ago
JSON representation
An Online Exam Platform which detects cheating with the power of AI and ML
- Host: GitHub
- URL: https://github.com/prathamesh-mutkure/anti-cheat-app-web
- Owner: prathamesh-mutkure
- Created: 2022-10-08T12:35:07.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-01T01:06:48.000Z (over 3 years ago)
- Last Synced: 2025-02-09T19:41:53.050Z (over 1 year ago)
- Topics: javascript, next-auth, nextjs, react, typescript
- Language: TypeScript
- Homepage: https://anti-cheat-exam-app.vercel.app/
- Size: 925 KB
- Stars: 37
- Watchers: 1
- Forks: 10
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Anti-Cheat Exam App 🌟
A platform that aims to stop cheating in online exams with the power of AI and ML.
This is the web version of my [Anti-Cheat Exam App](https://github.com/prathamesh-mutkure/anti-cheat-exam-app) with enhanced features, UI/UX, and performance.

- Demo
- [About Project](#about)
- [Features and Interfaces](#features)
- [Home](#home)
- [Login and Authentication](#auth)
- [Dashboard](#dashboard)
- [Exam](#exam)
- [Face Detection](#face)
- [Tech Stack](#tech-stack)
- [Front-end](#frontend)
- [Backend](#backend)
- [Mobile App](#mobile)
- [Other Tools](#other)
- [Important Points](#imp-points)
- [Getting Started Instructions](#instructions)
- [Test Cases](#test-cases)
- [Links](#links)
- [Contact](#contact)
## Features and Interfaces
I'm currently making some final changes to the web app and will soon update this document with the latest demo images of the web app.
- [Landing Page](https://anti-cheat-exam-app.vercel.app/) which lists all the features of the app


2. Login Page (Authentication)
- 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

- Simple and minimalistic exam page where the user can answer MCQ-based questions
- The user can view and track their progress


7. 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-device without sending anything to the backend
- Thus, Face detection is fast and real-time
https://user-images.githubusercontent.com/28570857/205257552-5aa0235b-ddee-463a-b746-2ecc06ba8c4f.mp4
## Tech stack
- Next.js (React)
- TypeScript
- Redux
- Nodejs
- Express
- MongoDB
#### Mobile App
- Flutter
- MobX + Provider
- Google Mediapipe (Web)
- Google on-device ML-Kit (Mobile)
## Points to remember while testing the app
1. First setup the backend by following the instructions in this [repository](https://github.com/prathamesh-mutkure/anti-cheat-app-backend)
2. The test username and password are given in the login form
6. Allow **permissions** for camera and mic when asked
7. Make sure the `BACKEND_URL` is appended with `/api`
1. Clone the project
- `https://github.com/prathamesh-mutkure/anti-cheat-app-web.git`
3. Install all the packages
- `npm install`
5. Create a `.env` file and set the following variables or as shown in the `.env.example` file
- `BACKEND_URL`
- `AUTH_SECRET`
6. Run the app
- `npm run dev`
7. Open `http://localhost:3000` with your browser to see the app
To make sure your changes don't break anything, run `npm run dev` to run unit tests.
## Useful Links
- [Project Demo](https://anti-cheat-exam-app.vercel.app/)
- [Mobile App](https://github.com/prathamesh-mutkure/anti-cheat-exam-app) (Android & iOS)
- [Backend Repository](https://github.com/prathamesh-mutkure/anti-cheat-app-backend)
- [Project Thesis](https://drive.google.com/file/d/1fXXXjcE74pIOEwavstTmporuOECc7cUu/view) (Submitted mobile app as final year project for my diploma)
Feel free to contact me on [Twitter](https://twitter.com/prathamesh_io/) or [LinkedIn](https://www.linkedin.com/in/prathamesh-mutkure/), know more about me at [prathamesh.co](https://prathamesh.co)
[](https://twitter.com/prathamesh_io/) [](https://www.instagram.com/prathamesh_mutkure/)