Skip to content

mattaharish/edVator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edVator, A Live Test Taking System

Assumption

Project Description

A Multiple choice test taking system in which tests are tracked live and analytics are generated based on that. 

Features

1) User Management System -

	a) Ability to sign up using email, gmail and facebook.
	b) Ability to login to the system through email and password combination or using Gmail/Facebook
	c) Forgot password functionality to reset password

2) User Testing management system -

	a) Once the user logs into the system, a dashboard containing the statistics of all tests he has taken is displayed. The statistics includes the number of tests taken, average score and percentage growth. Line Chart is generated based on the performance of user.
	b) Dashboard also contain the lists of tests the user has taken. On clicking 'Score' button, a Test Result view is opened which contains the details of test result.
	c) “Take a test” button is displayed, from which user can go to test taking page on clicking the button.
	d) On test taking page, user see a list of tests he can appear for along with a button to start that test.

3) User test taking system -

	a) Once user starts the test, he first see an instructions screen containing. It may also contain the rules of the test.
	b) Once the user reads the instructions and accepts the rules (single accept button), The test timer will start and the screen should display the test questions and options associated with it.
	c) User can be able to choose only one option as answer for every question.
	d) The test will have a time limit. The test window must automatically close once the timeout occurs irrespective of how many questions have been answered. The system submits the answers automatically.
	e) If the user completes the test before the time ends, he can see a submit window which will submit his all answers. In case of timeouts, this window must appear automatically.
	f) The system keeps a track of how much time a user is taking for answering each question. 
	g) On submission of test, result is shown to student. 

4) Test listing Admin

	a) Admin can be able to create tests in the system
	b) Each test has a set of questions, each question containing at least 4 options and overall time limit of the test. 
	c) Admin can create, edit, delete and view any tests, questions or option.
	d) While creating options for any question, admin is be able to set a correct answer. 

5) User analytics in admin

	a) Admin can be able to view details of users registered in the system
	b) Admin can be able to view overall performance of the user in all his tests.

6) Single Page Application

Extra features

1) List of students who attempted the test is shown with their details and scores.
2) Chart js used to show line chart.
3) Secured with JWT. Default JWT expiry time is set to 30 minutes.
4) Test statastics are also calculated.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

1) Nodejs
2) Mongodb
3) NPM
4) Git

Installing

Setting Prerequisites

1) Start mongodb by running mongod

Setting up the local server

1) Clone the repository from https://github.com/mattaharish/edVator
2) Open terminal and change its location the where you cloned the repo
3) Run command npm install
4) After all dependencies are installed. Run command : node app.js, in your terminal
5) let the server start

Getting started

1) Visit http://localhost:3000 on your browser
2) Select signup to create a new account

Built With

  • Angular Js
  • Bootstrap
  • Node Js
  • Postman
  • VS Code Editor

Authors

  • Harish Matta