0.0.7 • Published 2 years ago

react_proctoring_library v0.0.7

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Welcome to react_proctoring_library · GitHub license npm (scoped) npm bundle size (minified) CircleCI Status PRs Welcome

Hi! react_proctoring_library is a user friendly, easy to use and your one-stop npm library which will provide you the ability to proctor all your exams, tests, quizzes, Playgrounds, almost everything you need to proctor with the minimum effort possible. We have used body-pix model from tensorflow library to detect if user is looking outside the screen, multiple people visible in camera. We have also implemented tab switching tracker and full screen exit tracker.

Why?

  • In these times when most of the exams are conducted online, a lot of us want some sort of mechanism which could make their life easy while taking online test and react_proctoring_library has done this for you.

Future Plans?

  • Detection of multiple persons via Audio.

Installation

You must have React v16.8 or above installed in your project to use this proctoring library.

If you want, you can also create a new react app using npx create-react-app my-new-app command.

Once you have a react app, just type npm install react_proctoring_library in your terminal and if everything goes fine, you are good to go.

Props

PropsisRequiredParamsTypeDescription
TestComponentYesJSX ComponentThe Component which you want to proctor
testIdentifierYesStringA unique string to identify every test
fullScreenMessageOptionalStringIf you want your test to run only in full screen mode, this message will appear instead of TestComponent whenever User exits Full Screen

Documentation

Currently, react_proctoring_library comes with 2 things:

  • ProctorApp - A Component which will help you in proctoring
  • Object getStatistics(string: testIdentifier) - A function which will return a data Object with all Statistics about breaches.
import { ProctorApp, getStatistics } from  'react_proctoring_library';
function  Test(props) {
	return (
		<div>
			<h1>Proctoring Window</h1>
		</div>
	);
}

function  App() {
	const testIdentifier = 'unique-proctoring-identifier';
	const fullScreenMessage = 'This test can only be completed in Full Screen Mode, do you want to start this test?';
	const  getStats = e  => {
		e.preventDefault();
		console.log(getStatistics(testIdentifier));
	};
	return (
		<div className="App">
			<ProctorApp TestComponent={Test} testIdentifier={testIdentifier} fullScreenMessage={fullScreenMessage} />
		</div>
		<button  onClick={getStats}>Get Statistics</button>
	);
}

export default App;