Table of Contents
Welcome to our cutting-edge Auto Exam Proctoring platform, where academic integrity meets advanced technology to ensure a fair and secure testing environment for all participants.
How it is done:
-
Registration Process: Students are required to supply a current passport-sized photo while registering for a specific exam. During the exam, this picture is used as a reference for identity verification.
-
Live Webcam Monitoring: Our system records the user's live webcam feed while the exam is in progress. We use the most recent facial recognition models to validate the candidate's identity by comparing the uploaded passport photo with the live webcam feed. This procedure guarantees that the exam-taker is, in fact, the registered student.
-
Proctoring and Monitoring: In real time, our software keeps a close eye on the exam setting. Proctopulse has a feature that continuously checks the webcam feed to find any eviations or irregularities. It uses advanced facial detection techniques such as YOLOv5. Proctopulse flags instances where
- React
- Node
- Express
- Mongo
- Fast-api
- Material UI
- Yolov5face
- deepface
React, Node and Python must be installed (if want to use docker images make sure docker is installed on the machine)
-
Clone the repo
https://github.com/DP-NOTHING/Procto-pulse.git
-
Install packages
cd client npm install cd server npm install cd service pip install requirements.txt
-
Create env files
in Client folder
PORT = REACT_APP_BACKEND = '' REACT_APP_SERVICE=''
in server folder
CONNECTIONSTRING = "" SERVICE_URL="" PORT = JWT_SECRET = ''
- start server using
cd server
npm start
- start Service
cd service
uvicorn main:app --reload
- Start Client
cd client
npm start
The given project is dockerized. The images for all three major components are available on docker hub.
-
- Run the container
docker pull dm2903/proctopulse-python-service
- Run the container
docker run -it -p 8000:8000 dm2903/proctopulse-python-service
- Your python server will be running at
http://127.0.0.1:8000
- Run the container
-
- Run the container
docker pull dm2903/proctopulse-node-server
- Run the container (make sure to provide correct values for ENV variables)
docker run -it -p 3000:3000 -e CONNECTIONSTRING="" -e JWT_SECRET="" -e SERVICE_URL="" -e PORT="" dm2903/proctopulse-node-server
- Your node server will be running at
http://127.0.0.1:3000
- Run the container
-
- Run the container
docker pull dm2903/proctopulse-react-client
- Run the container (make sure to provide correct values for ENV variables)
docker run -it -p 3001:3001 -e REACT_APP_SERVICE="" -e REACT_APP_BACKEND="" -e PORT="" dm2903/proctopulse-react-client
REACT_APP_SERVICE
is the endpoint where Python server is running.
REACT_APP_BACKEND
is the endpoint where Node server is running. - Your react server will be running at
http://127.0.0.1:3001
- Run the container
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Deep patel - @LinkedIN - [email protected] Dev Mehta Krunal Parekh
Project Link: https://github.com/DP-NOTHING/Procto-pulse