Skip to content

namkiit/auto-proctoring-exam-web-app

Repository files navigation

Auto-Proctoring Exam Web Application 🌟

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

Features and Interfaces

  1. Home Page

    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
  3. Dashboard

    • 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

    Screenshot 2022-11-13 at 4 37 01 PM
  4. 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
  5. 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

Tech stack

  • Next.js (React)

  • TypeScript

  • Redux

  • Axios

  • Google Mediapipe

  • NextAuth with JWT

Important Notes

  1. First setup the backend by following the instructions in this repository

  2. Use ID '20198235' and password 'namkiet3010' to login or you can create a new student account at CMS website

  3. Allow permissions for camera and mic when asked

  4. Make sure the BACKEND_URL is appended with /api

Getting Started

  1. Clone the project

    • https://github.com/namkiit/auto-proctoring-exam-web-app.git
  2. Install all the packages

    • npm install
  3. 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)

  4. Run the app

    • npm run dev
  5. Open http://localhost:3000 with your browser to see the app

Useful Links

Credit

Base project belongs to Prathamesh Mutkure. You can know more about him at Twitter or prathamesh.co

Contact

Facebook Instagram

About

An Auto-Proctoring Exam Website that detects cheating with AI & Machine-Learning

Resources

Stars

Watchers

Forks

Packages

No packages published