ProctoAI-MERN is an Automated Exam Proctoring System (AEPS) developed with cutting-edge AI-based algorithms for online exams. This comprehensive system is designed to ensure the integrity and security of online examinations. The project leverages technologies such as React.js, Redux, Node.js, and TensorFlow.js to offer a feature-rich exam proctoring solution.
ProctoAI-MERN utilizes a range of technologies to provide its comprehensive functionality. The key technologies and dependencies used in this project include:
- Node.js: A JavaScript runtime for server-side development.
- Express: A minimal and flexible Node.js web application framework.
- MongoDB: A NoSQL database for storing user data.
- Mongoose: An elegant MongoDB object modeling tool.
- JSON Web Tokens (JWT): Used for secure authentication and authorization.
- bcryptjs: A library for securely hashing passwords.
- Express-Async-Handler: Middleware to handle exceptions in asynchronous route handlers.
- React: A JavaScript library for building user interfaces.
- Redux Toolkit: A library for state management in React applications.
- TensorFlow.js: An open-source machine learning framework for web-based applications.
- Material-UI: A popular React UI framework.
- React-Router: A routing library for React applications.
- React-Toastify: Used for displaying notifications.
- React-Webcam: A React component for capturing video from the user's webcam.
- Yup: A JavaScript schema builder for value parsing and validation.
- Formik: A library for building forms in React with form validation.
- SweetAlert: A JavaScript library for creating beautiful and responsive alert messages.
- Students and teachers can log in with separate roles and permissions.
- Secure authentication and authorization for user accounts.
- Teachers can create exams and define questions.
- Exam management for teachers, including question creation and configuration.
- Students can view available exams and participate in them.
- The test page displays questions and a timer with an auto-submit feature.
- Real-time AI proctoring of students during exams.
- AI checks for cheating behaviors, such as mobile phone detection, multiple faces detection, and absence of detected faces.
- Cheating incidents are logged and viewable by teachers in their dashboard.
- Real-time candidate identity verification through image capture and matching with registered candidates.
- Utilization of voice recognition technology to monitor and identify voice anomalies during online exams, identifying potential malpractice.
- Preventing candidates from opening or accessing unauthorized applications on their desktop or mobile devices during the online exam.
- Creation of a unified portal for users to log in, access question papers, open a chat window for communication with the examiner, and upload answer sheets via an integrated scanner within the portal.
- Webcam capture is hidden due to privacy reasons, with a black box covering the video feed.
More features and improvements are in development and will be included in future updates.
To run this project locally, follow these steps:
- Clone this repository.
- Install the required dependencies in both the frontend and backend folders.
- Start the server using
npm start
in the backend folder. - Start the React app using
npm start
in the frontend folder.