Skip to content

aryans1319/Rectify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rectify - Automated Exam Proctoring tool for Online Exams using Face Recognition | MesoHacks Submission | Education Track

🚩 Overview

During COVID 19 pandemic, online education has become a common norm in schools and colleges, and students themselves are adapted to this online environment of education, as classes are being held in online mode, exams are also conducted online and students tend to cheat in those exams due to lack of security and no physical guarding by professors/teachers which is monitored live, so here is my solution to the problem! Now teachers can monitor students' live even in online mode!

🔗 Links for project:

Live demo : Live Site

Video demo : Watch Demo Video

🚩 General Features and Interfaces:

Feature Images
Hompage
It is fast, easy to use, and incredibly convenient with a minimalistic UI! To create an exam, just register as an instructor and login to create the exam! homepage
Registration Page
You can register as an instructor or register as a student! registrationPage
Register as professor! professor
Register as student student
Login Page
User can login as a student or as a professor, authentication system is implemented by using Passport.js LoginPage
Live Teacher Dashboard
Professor can watch live status of the students of the ongoing exam by entering the unique code which was generated when the professor created the exam and can monitor student from his own dashboard logcheck
Exam Creation
Professors can create exam by filling out the form, time and date, exam duration! You can use google forms, microsoft forms,any other form link for exam examCreation
ExamPage
This is how the exam page looks, allow access to webcam, it starts and recognises the face to start working exampage

🚩 Features of Live Face Recognition Model:

Feature Images
Face Visibility If you try to hide your face from webcam or moveout of the frame it gives a warning after few seconds,that your face is not visible! facenot
Multiple Face Recognition If more than one face is detected during the exam, the model detects it and action is reported to the professor. multiple face detection
Cell Phone Detection If any student tries to cheat via phone the model detects it and immediately reports it to the professor then and there cell phone detection
Disabled Copy/Paste If any student tries to copy any questions to search on the web it immediately detects and report it to the professor as control keys are disable ctrlkey
Disabled Tab Change Tab changing is strictly monitored during the live examination, if any student tries to open any other tab, the model detects and reports it immediately to the professor that student is changing the tab as well as the number of times he changed tabchange
Prohibited Object Detection! Some prohibited objects such as books,any other laptop is also detected if any student tries to choose this way of malpractice booldetect

Other Features :

  1. Dynamic Teacher's Dashboard
  2. Sorting and searching functionalites in Professor's Dashboard
  3. Return Back to exam within set time (done because if any student losses connection during the exam) he can return back to it.
  4. Exam creation dialog box which automatically copies generated exam code to clipboard

Note: - Since in the current iteration of the project I am using google form link from professor instead of making questions in the application itself, it is impossible to put key listeners and right click prevention in it since its a third party app and React prevents it due to security reasons. To test these features, please do ctrl press, alt press and right click on left side of screen only.

🌐 Web flow

Flowchart

🚩 Technologies used:

Purple Modern Aries Sun Sign Horoscope YouTube Thumbnail

Programming Languages : JavaScript HTML5 CSS3

Face Recognition Model : TensorflowJS Database : MongoDB

Version Control : Git Hosting :Heroku

Frameworks/Libraries : ReactJS Redux NodeJS ExpressJS JWT MaterialUI

You can also see the list of dependencies in the package.json file.

🚩Installation/Environment Setup

Login Credentials

   professor email - prof1@gmail.com password - 123456
   student email - student2@gmail.com password - 123456

1. Clone App

  • Write the following command and press enter.
  $ git clone https://github.com/aryans1319/Rectify.git

2. Install node packages

  • Move to the parent/root directory (Rectify) cd Rectify
  • Write the following command and press enter to download all required node modules.
$ cd Rectify
$ npm install 

3. Move to Client directory and install Node packages

  • Move to the client folder inside the Rectify folder by cd client
  • Write the following command and press enter to download all required node modules.
  $ cd client
  $ npm start

4. Run Locally

  • Move back to the parent directory by cd..
  • While you are still inside the cloned folder, write the following command to run the website locally.
  $ npm run dev
NOTE: This concurrently runs server and frontend, give a few seconds for frontend to load and the port by default will be http://localhost:3000/

🚩 Future Scopes:-

Feature Explanation
Creating Exam Feature in the application itself Instead of using a external link(google/microsoft forms),exam creation in the web-application itself would provide more security and better user experience to the product.
Class Management All class management activities (branch/section wise) separately for every year students, creating assignment in the application itself assigning tasks and keep a record of every student activites individually in different sections.
Video Calling support Video calling support between students and teacher for quick doubt resolve and better teacher to student interaction