This project is part of our bachelor final year project. The project will help solve a current global problem faced by many institutions and teachers to assess students fairly in an online setting. The proctoring system is expected to have facial monitoring, audio monitoring, and browser tracking features. The teachers will be provided with an interface to control the features, and the students will also be provided with a separate interface to monitor them during the assessment. This project will be built on the technologies of Computer vision, Machine Learning, and Web development. After the completion of the coding and testing of the project, it is deployed on Amazon Web Services.
- Node js Backend
- Python Flask Backend
- React js Frontend
The Node.js Backend Communicates directly with the front end, whereas the Flask Backend is used for deploying the ML model and exposing the APIs for getting model results.
Make sure you have installed:
- Python
- Node.js
Steps:
-
Clone the repository:
git clone https://github.com/ahmadrazakhawaja/fyp_project.git
-
Create python virtual environment:
go to project root folder and run the command on windows:py -3 -m venv venv
on mac:python3 -m venv venv
-
Activate Python virtual Environment:
run this command to activate virtual environment on windows:venv\Scripts\activate
on mac:source venv/bin/activate
-
install dependencies:
go to project foldercd project
now run the commandpip install -r requirements.txt
to install python dependencies -
Activate flask backend:
go to project directorycd project
In the project directory run the command on windows:set FLASK_APP=app
on mac:export FLASK_APP=app
Set dev environment and to automatically refresh the backend flask server
set FLASK_ENV=development
Then run the command to start serverflask run
Show all dependenciespip freeze
Create a requirements.txt file with all dependencies
pip freeze > requirements.txt
Install all dependencies
pip install -r requirements.txt
-
Activate Node backend:
go to Node_backend folder (Need to have Node.js installed on device)cd project/Node_backend
Install Dependencies
npm install
To List dependencies
npm list --depth=0
Run Backend development server
npm run dev
-
Activate react frontend:
From the project directory go to frontend/ my-app / folder and run the commandnpm start
to activate react frontend
Make an empty git repo
git init
Add files to repo
git add --all
Commit files to repo
git commit -m "Committed"
~If Already initialized a repo then just do these 3 steps:
Create branch to put files online
git branch -M master
Add remote origin
git remote add origin https://github.com/ahmadrazakhawaja/fyp_project.git
Always pull before pushing to github repositiory
git pull
Push to online repo
git push -u origin master