A straightforward framework built for automatic proctoring to create online tests, effortlessly

Overview

A straightforward framework built for automatic proctoring to create online tests, effortlessly.

Explore the docs »

Architecture   ·   Features   ·   Local Setup



landing-page-gif


Table Of Content


Problem we are trying to solve?

Due to Covid 19, remote learning has been a constant and so have been online examinations.
But proctoring has always been a task and cheating and unfair practices have always been a problem.

Problems with the exisiting sytem?

The current solutions assumes to have 2 platforms

  • One for testing purposes like Google Form for writing exams
  • And another, video conferencing platforms like meet or zoom for manual proctoring.

Our PS poses to develop an application that can automatically proctor and monitor students, without the need of manual proctoring - ie without a teacher's aid.

Market & User Research

  • On market research, the products available found, are paid.
  • On user research and feedback from students, UX of such platforms isn't upto the mark.
  • UX from the client's end isn't frictionless, it was expected by the client to upload questions on their platforms.
  • The existing product doesn't seem to have an accessible Admin Dashboard.

That's where we come into picture.

Architecture and Design

The tradeoff in a Hackathon: Speed over quality

But something that we are proud of is, we tried to follow ideal software development practices.

  • Architecture
  • Design
  • Code

The presentation for Aankh can be found here.

Architecture



Design



Demonstration


Landing Page

Intro Screen Features Features 2



Register & Login

REGISTER LOGIN

User Registration - Face Verifacation to be done when exam starts.

User Login to start the exam.


Creating a Test and Dashbaord


Create Test Dashboard

Creating a test and expecting a Google/Microsoft Form Link

Admin Dashboard: Tests arranged chronologically.


Start Exam

  • After logging in and entering the unique test code.
  • Live Snapshots will be captured, periodically and will be analysed for the following :
    • Face Verification
    • Face Cover/Visibility
    • Multiple People Detection

Start Exam


Building a chrome extension for track of tabs


Checks for cheating

  • Face Verification
  • Voice Detection
  • Multiple People Detection
  • Dev Tools Check
  • Multiple Tabs Check
  • Full Screen Check

Full Screen Detect Dev Tools
Face Not Visible Multiple People

Also, ideas rejected: These were rejcted due to false positives and unsurity of cheating.

  • Eye Tracking
  • Object detection
  • Mouse Tracking


Test Admin Dashboard

  • The following warning logs, data and statistics will be emailed to the Admin after the test.

Test Dashboard Test Dashboard 2

Test Dashboard: Admin can see statistics - no. of students with warnings and above the threshold.

Admin Dashboard: Admin can Terminate or Continue a students exam based on warnings.


Technologies Used


  • Workflow and Architecture Design
    • Excalidraw
  • Prototyping and Frontend Design
    • Figma
  • Frontend
    • React.js
    • CSS
  • Backend
    • Node.js (Express.js)
    • MongoDB
  • Machine Learning
    • OpenCV
    • Tensorflow_hub
    • Flask

Dependencies

A freaking huge shoutout to:



Contributing

Local Setup || Project Structure

NOTE: Individual instructions can be found in respective directories.

  • The project contains 4 broad directories.
*
├───client
├───extension
├───model
└───server
  • client: The frontend for the application.
  • extension: Chrome/Edge extension to keep a track of browser tabs.
  • model: Model APIs for Machine Learning.
  • server: The backend for the application.

Client

For local setup of frontend:

  • cd client
  • npm i
  • npm start
  • Go to localhost:3000

Structure

src
├───assets
├───components
├───containers
└───index.js

Individual Component & Container Structure

component
├───component.jsx
└───component.css


Extension

Read this or this for a brief description for installing extensions.

  • Open new tab & type: chrome://extensions or edge://extensions.
  • Look for the Developer mode toggle & turn it on if it's not already.
  • After cloning the repository, click on Load Unpacked and select the extension directory.


Model

The complete setup can be found in the model directory.

NOTE:

  • Apart from this tensorflow and tensorflow_hub should be installed .
  • The face-pose-estimation model is not final it is just a placeholder for now(will improve it as we get time).
  • How to convert javascript array for image into image tensor that part is remaining.


Server

For local setup of backend:

  • cd server
  • npm i
  • npm start
server
├───controllers
├───middlewares
├───models
├───routes
└───package.json


License 📜

GNU General Public License v3.0

Authors

We are Team VAT, not Value Added Tax, but Vivek, Akshay and myself, Tushar.

You might also like...

Straightforward interactive HTTP requests from within your Alpine.JS markup

Alpine Fetch Straightforward interactive HTTP requests from within your Alpine.JS markup. View the live demo here What does this do? Alpine.JS is a ru

Dec 21, 2022

A light-weight, simple, and straightforward learning tool for your Kubernetes cluster

A light-weight, simple, and straightforward learning tool for your Kubernetes cluster

Introducing Neptune Light-weight, simple, and straightforward learning tool for your Kubernetes cluster Neptune is an approachable learning tool, ligh

Jan 4, 2023

Demo Selenium JavaScript E2E tests (end-to-end web browser automation tests)

Demo Selenium JavaScript E2E tests (end-to-end web browser automation tests)

Oct 9, 2021

SAP Community Code Challenge: This repository contains an empty OpenUI5 application and end-to-end tests written with wdi5. Take part in the challenge and develop an app that passes the tests.

SAP Community Code Challenge - UI5 The change log describes notable changes in this package. Description This repository is the starting point for the

Oct 24, 2022

A little CLI for making TypeScript packages, cleanly and effortlessly.

TSEX A little CLI for making TypeScript packages, cleanly and effortlessly. Install npm install -g tsex Usage Usage: tsex [options] [command] A littl

Nov 15, 2022

The Basement SDK has sensible defaults and flexibility to allow you to get the data you want efficiently and effortlessly.

Basement SDK The Basement SDK has sensible defaults and flexibility to allow you to get the data you want efficiently and effortlessly. Installation B

Dec 6, 2022

An online multiplayer IO-like game that tests your general knowledge.

An online multiplayer IO-like game that tests your general knowledge.

Source code for insort.app Insort is a game where you sort a deck of cards by some attribute. It's main components are React, Socket.io, Express and P

Dec 10, 2022

A chat logs online saver for discord bots to save messages history & cleared messages online

A chat logs online saver for discord bots to save messages history & cleared messages online

Chat Logs NPM package that saves messages online to view it later Useful for bots where users can save messages history & cleared messages online Supp

Dec 28, 2022

🚀 Create dynamic and automatic changelogs for your project!

Versionator-js Create dynamic and automatic changelogs for your project!. Installation Use the package manager npm to install versionator-js. npm inst

Jan 6, 2023

A base project for Express with Typescript to create an API. Includes automatic input validation and Swagger UI generation.

A base project for Express with Typescript to create an API. Includes automatic input validation and Swagger UI generation.

(Typescript) Express API with input Validation and Swagger UI Thats a mouthful isn't it. Typescript: The language used, a superset of Javascript with

Oct 26, 2022

RepoProvas API, a system for sharing tests between students, built with Typescript, Node.js, Express, Prisma and Postgres.

Repoprovas Built With 📋 Description RepoProvas API, a system for sharing tests between students, built with Typescript, Node.js, Express, Prisma and

Dec 13, 2022

🌟 JavaScript Style Guide, with linter & automatic code fixer

🌟 JavaScript Style Guide, with linter & automatic code fixer

JavaScript Standard Style Sponsored by English • Español (Latinoamérica) • Français • Bahasa Indonesia • Italiano (Italian) • 日本語 (Japanese) • 한국어 (Ko

Dec 31, 2022

WebGL-accelerated ML // linear algebra // automatic differentiation for JavaScript.

This repository has been archived in favor of tensorflow/tfjs. This repo will remain around for some time to keep history but all future PRs should be

Dec 31, 2022

Automatic GatsbyJS App Landing Page - Automatically generate iOS app landing page using GatsbyJS

Automatic GatsbyJS App Landing Page - Automatically generate iOS app landing page using GatsbyJS

Automatic GatsbyJS App Landing Page Create and deploy an iOS app landing page on GitHub Pages and Netlify in a couple of minutes 🔧 Fork this repo 📲

Jan 1, 2023

🌟 JavaScript Style Guide, with linter & automatic code fixer

🌟 JavaScript Style Guide, with linter & automatic code fixer

JavaScript Standard Style Sponsored by English • Español (Latinoamérica) • Français • Bahasa Indonesia • Italiano (Italian) • 日本語 (Japanese) • 한국어 (Ko

Dec 31, 2022

An application to help in the automatic booking of COVID vaccination slots in India whenever they become available.

An application to help in the automatic booking of COVID vaccination slots in India whenever they become available.

Co-WIN automated slot booking Automatically book vaccine slots as and when they become available This application aims to automatically book vaccine s

Nov 23, 2022
Owner
Tushar Nankani
Community Lead @dsctsec | Developer | Computer Engineering || Looking for collaborations to build awesome things.
Tushar Nankani
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more

NLP.js If you're looking for the version 3 docs, you can find them here Version 3 "NLP.js" is a general natural language utility for nodejs. Currently

AXA 5.3k Dec 29, 2022
The Fastest DNN Running Framework on Web Browser

WebDNN: Fastest DNN Execution Framework on Web Browser WebDNN is an open source software framework for executing deep neural network (DNN) pre-trained

Machine Intelligence Laboratory (The University of Tokyo) 1.9k Jan 1, 2023
A neural network library built in JavaScript

A flexible neural network library for Node.js and the browser. Check out a live demo of a movie recommendation engine built with Mind. Features Vector

Steven Miller 1.5k Dec 31, 2022
A system for sharing tests between students. In RepoProvas anyone can look up old tests for their subjects and teachers or send old tests to help other students!

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Rui Neto 6 May 10, 2022
Debug your Jest tests. Effortlessly.🛠🖼

Jest Preview Debug your Jest tests. Effortlessly. ?? ?? Try Jest Preview Online. No downloads needed! Why jest-preview When writing tests using Jest,

Hung Viet Nguyen 2.1k Jan 4, 2023
CandyPay SDK lets you effortlessly create NFT minting functions for Candy Machine v2 collections.

@candypay/sdk CandyPay SDK lets you effortlessly create NFT minting functions for Candy Machine v2 collections. Simulate minting transactions for mult

Candy Pay 33 Nov 16, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023