An open API service indexing awesome lists of open source software.

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

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.

1. Home Page

- [Landing Page](https://anti-cheat-exam-app.vercel.app/) which lists all the features of the app

Screenshot 2022-11-13 at 4 36 11 PM

Screenshot 2022-11-13 at 6 04 36 PM


2. Login Page (Authentication)

- Fast and secure authentication
- JWT tokens used to persist the authentication state

Screenshot 2022-11-13 at 4 35 42 PM

2. Dashboard

- Shows bried information about all the exams assigned to the user

- The user can start an exam only at the correct timeslot

Screenshot 2022-11-13 at 4 37 01 PM



3. Exam Page

- Simple and minimalistic exam page where the user can answer MCQ-based questions

- The user can view and track their progress

Screenshot 2022-11-13 at 5 59 55 PM

Screenshot 2022-11-13 at 6 19 48 PM




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



#### Frontend

- Next.js (React)

- TypeScript
- Redux




#### Backend

- Nodejs

- Express

- MongoDB


#### Mobile App
- Flutter
- MobX + Provider


#### Other Tools

- 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`


## Instructions


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

## Test Cases

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)




## Need help?

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)

[![Twitter](https://img.shields.io/badge/Twitter-follow-blue.svg?logo=twitter&logoColor=white)](https://twitter.com/prathamesh_io/) [![Instagram](https://img.shields.io/badge/Instagram-follow-purple.svg?logo=instagram&logoColor=white)](https://www.instagram.com/prathamesh_mutkure/)