{"id":25185421,"url":"https://github.com/prathamesh-mutkure/anti-cheat-app-web","last_synced_at":"2026-04-14T06:04:11.492Z","repository":{"id":63147284,"uuid":"547856501","full_name":"prathamesh-mutkure/anti-cheat-app-web","owner":"prathamesh-mutkure","description":"An Online Exam Platform which detects cheating with the power of AI and ML","archived":false,"fork":false,"pushed_at":"2023-03-01T01:06:48.000Z","size":947,"stargazers_count":37,"open_issues_count":21,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T19:41:53.050Z","etag":null,"topics":["javascript","next-auth","nextjs","react","typescript"],"latest_commit_sha":null,"homepage":"https://anti-cheat-exam-app.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prathamesh-mutkure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-08T12:35:07.000Z","updated_at":"2025-01-07T05:49:49.000Z","dependencies_parsed_at":"2025-02-09T19:48:13.435Z","dependency_job_id":null,"html_url":"https://github.com/prathamesh-mutkure/anti-cheat-app-web","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathamesh-mutkure%2Fanti-cheat-app-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathamesh-mutkure%2Fanti-cheat-app-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathamesh-mutkure%2Fanti-cheat-app-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prathamesh-mutkure%2Fanti-cheat-app-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prathamesh-mutkure","download_url":"https://codeload.github.com/prathamesh-mutkure/anti-cheat-app-web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149267,"owners_count":20891949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","next-auth","nextjs","react","typescript"],"created_at":"2025-02-09T19:37:39.043Z","updated_at":"2026-04-14T06:04:11.440Z","avatar_url":"https://github.com/prathamesh-mutkure.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n\n  \n  \n  \n  \n  \u003ca id=\"about\"\u003e \u003c/a\u003e\n\n# Anti-Cheat Exam App 🌟\n\n  \n  \n\nA platform that aims to stop cheating in online exams with the power of AI and ML.\n\n  \n\nThis 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.\n\n  \n\n\u003cp  align=\"center\"\u003e\n\n\u003cimg  src=\"https://user-images.githubusercontent.com/28570857/178106216-25d91b1c-06cf-42fa-85fc-cf3540868b1f.png\"/\u003e\n\n\u003c/p\u003e\n\n- \u003ca href=\"https://anti-cheat-exam-app.vercel.app/\" target=\"_blank\"\u003eDemo\u003c/a\u003e\n\n- [About Project](#about)\n\n- [Features and Interfaces](#features)\n  - [Home](#home)\n  - [Login and Authentication](#auth)\n  - [Dashboard](#dashboard)\n  - [Exam](#exam)\n  - [Face Detection](#face)\n\n- [Tech Stack](#tech-stack)\n  - [Front-end](#frontend)\n  - [Backend](#backend)\n  - [Mobile App](#mobile)\n  - [Other Tools](#other)\n\n- [Important Points](#imp-points)\n- [Getting Started Instructions](#instructions)\n- [Test Cases](#test-cases)\n- [Links](#links)\n- [Contact](#contact)\n\n  \n  \n  \n  \u003ca id=\"features\"\u003e \u003c/a\u003e\n\n## Features and Interfaces\n\n  \n\nI'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.\n\n\n\n1. Home Page   \u003ca id=\"home\"\u003e \u003c/a\u003e\n\n   - [Landing Page](https://anti-cheat-exam-app.vercel.app/) which lists all the features of the app\n  \n   \u003cimg width=\"1835\" alt=\"Screenshot 2022-11-13 at 4 36 11 PM\" src=\"https://user-images.githubusercontent.com/28570857/201518806-155ea557-79cd-4c81-948a-af9575cbff57.png\"\u003e\n\n   \u003cimg width=\"1835\" alt=\"Screenshot 2022-11-13 at 6 04 36 PM\" src=\"https://user-images.githubusercontent.com/28570857/201521938-de2f9979-7490-471e-b6be-0642f982b700.png\"\u003e\n\n \n 2.  Login Page (Authentication)  \u003ca id=\"auth\"\u003e \u003c/a\u003e\n \n     - Fast and secure authentication \n     - JWT tokens used to persist the authentication state\n\n     \u003cimg width=\"1835\" alt=\"Screenshot 2022-11-13 at 4 35 42 PM\" src=\"https://user-images.githubusercontent.com/28570857/201518738-83d0e340-9394-42c5-b0fe-6770eea2009d.png\"\u003e\n  \n2. Dashboard \u003ca id=\"dashboard\"\u003e \u003c/a\u003e\n\n\t- Shows bried information about all the exams assigned to the user\n\n\t- The user can start an exam only at the correct timeslot\n\n    \u003cimg width=\"1835\" alt=\"Screenshot 2022-11-13 at 4 37 01 PM\" src=\"https://user-images.githubusercontent.com/28570857/201518882-8cdf77fb-25a1-4427-b3d5-d015d47a8829.png\"\u003e\n\n  \n  \n3. Exam Page \u003ca id=\"exam\"\u003e \u003c/a\u003e\n\n   - Simple and minimalistic exam page where the user can answer MCQ-based questions\n\n   - The user can view and track their progress\n  \n\n   \u003cimg width=\"1835\" alt=\"Screenshot 2022-11-13 at 5 59 55 PM\" src=\"https://user-images.githubusercontent.com/28570857/201521732-02537090-8757-451a-9d31-49df9bd6aad3.png\"\u003e\n\n   \u003cimg width=\"1801\" alt=\"Screenshot 2022-11-13 at 6 19 48 PM\" src=\"https://user-images.githubusercontent.com/28570857/201522628-e2007a34-fe57-44cf-bc45-a6a17963ed4c.png\"\u003e\n\n  \n  \n  \n7. AI-powered face motion detector \u003ca id=\"face\"\u003e \u003c/a\u003e\n\n   - I've used Google's Mediapipe library to track the motion of the user's face\n\n   - This app can check if a user is trying to cheat by monitoring the co-ordinates of their face\n\n   - The face detection is performed on-device without sending anything to the backend\n\n   - Thus, Face detection is fast and real-time\n\n  \n\n      https://user-images.githubusercontent.com/28570857/205257552-5aa0235b-ddee-463a-b746-2ecc06ba8c4f.mp4\n\n  \n  \n  \n\n## Tech stack\n\n  \n  \u003ca id=\"frontend\"\u003e \u003c/a\u003e\n#### Frontend\n\n- Next.js (React)\n\n- TypeScript\n- Redux\n\n  \n  \n\u003ca id=\"backend\"\u003e \u003c/a\u003e\n#### Backend\n\n- Nodejs\n\n- Express\n\n- MongoDB\n\n  \u003ca id=\"mobile\"\u003e \u003c/a\u003e\n#### Mobile App\n- Flutter\n- MobX + Provider\n\n\n\u003ca id=\"other\"\u003e \u003c/a\u003e\n#### Other Tools\n\n- Google Mediapipe (Web)\n- Google on-device ML-Kit (Mobile)\n\n  \n\n\u003ca id=\"imp-points\"\u003e \u003c/a\u003e\n## Points to remember while testing the app\n\n  \n\n1. First setup the backend by following the instructions in this [repository](https://github.com/prathamesh-mutkure/anti-cheat-app-backend)\n\n2. The test username and password are given in the login form\n\n6. Allow **permissions** for camera and mic when asked\n\n7. Make sure the `BACKEND_URL` is appended with `/api`\n\n  \n\n\u003ca id=\"instructions\"\u003e \u003c/a\u003e\n## Instructions\n\n  \n  \n\n1. Clone the project\n\n   -  `https://github.com/prathamesh-mutkure/anti-cheat-app-web.git`\n\n3. Install all the packages\n\n   -  `npm install`\n\n5. Create a `.env` file and set the following variables or as shown in the `.env.example` file\n\n   -  `BACKEND_URL`\n\n   -  `AUTH_SECRET`\n\n6. Run the app\n\n   -  `npm run dev`\n\n7. Open `http://localhost:3000` with your browser to see the app\n\n\n## Test Cases \u003ca  id=\"test-cases\"\u003e  \u003c/a\u003e\n\n\nTo make sure your changes don't break anything, run `npm run dev` to run unit tests. \n  \n \n\u003ca id=\"links\"\u003e \u003c/a\u003e\n## Useful Links\n\n  \n\n- [Project Demo](https://anti-cheat-exam-app.vercel.app/)\n- [Mobile App](https://github.com/prathamesh-mutkure/anti-cheat-exam-app) (Android \u0026 iOS)\n\n- [Backend Repository](https://github.com/prathamesh-mutkure/anti-cheat-app-backend)\n\n- [Project Thesis](https://drive.google.com/file/d/1fXXXjcE74pIOEwavstTmporuOECc7cUu/view) (Submitted mobile app as final year project for my diploma)\n\n  \n  \n\u003ca id=\"contact\"\u003e \u003c/a\u003e\n## Need help?\n\n  \n\nFeel 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)\n\n  \n\n[![Twitter](https://img.shields.io/badge/Twitter-follow-blue.svg?logo=twitter\u0026logoColor=white)](https://twitter.com/prathamesh_io/) [![Instagram](https://img.shields.io/badge/Instagram-follow-purple.svg?logo=instagram\u0026logoColor=white)](https://www.instagram.com/prathamesh_mutkure/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathamesh-mutkure%2Fanti-cheat-app-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprathamesh-mutkure%2Fanti-cheat-app-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprathamesh-mutkure%2Fanti-cheat-app-web/lists"}