Skip to content

ExamPlus πŸ’Ž provides an integrated platform for the students as well as the teachers to conduct examinations digitally in a hassle-free manner. One can create, attempt, and monitor tests, and maintain score records easily.

Notifications You must be signed in to change notification settings

Shatakshis667/Microsoft-Engage-2021-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ExamPlus πŸ’Ž

[ Microsoft Engage'21 Mentorship Program ]

🎯 Overview

β€£ Given Problem statement:

Build a functional prototype of a platform that gives students an array of digital academic and social tools to stay engaged with their studies, peers and broader university community during pandemic.

β€£ Project Idea:

The COVID-19 Pandemic has changed the education system dramatically, with the distinctive rise of e-learning, whereby teaching is undertaken remotely and on digital platforms. Even the exams are being held in a remote fashion. Thus, this project provides an integrated platform for the students as well as the teachers to conduct examinations digitally in a hassle-free manner. One can create, attempt and monitor tests, and maintain score records easily.
This project has been built solely during the period of Microsoft Engage'21 Mentorship Program conducted by Microsoft to provide mentorship and to enrich students with various software development techniques.

  • Status : Accomplised Successfully

🎯 Flow Diagram

🎯 Links for project:

Heroku: https://examplus.herokuapp.com/
Demo Video: https://youtu.be/HZ3pYorxKUE

🎯 Agile methology and workflow:

Agile methodology was followed by implementation of a sprint of 5 days in a week for 3 weeks along with continuous integration and development using Git version control. The website has been hosted on Heroku. The intent of the project, customer viewpoint, visual hierarchy and comfortable colour scheme were in mind while developing this project. Bugs were solved according to priority scale.

Priority scale : P0 (Maximum) to P4 (Minimum)

Week Task Remarks
Week 1:
(Design Phase & Initial Development)
  • P0: Basic app built by exploring technologies. Set up Node.js and Express for backend, React for front-end, and MongoDB for the database.
  • P1: Develop Home Page UI and Backend
  • P1: Authorization Page UI (Sign-in and Sign up options)
  • P2: JWT Authorization Backend Set-Up
  • P2: Access Control Set-up (Separate Interface for Teacher and Student)
  • P3: Build the profile section for users
Set-up successful, Initial Development (Phase 1) completed
Week 2:
(Developing major features)
  • P0: Develop the Create Test functionalities
  • P0: Develop the Attempt Test functionalities
  • P1: Develop Test Instructions and the Test Live Preview
  • P2: Assigned Tests and Available Tests Preview for teachers and students respectively.
  • P3: Test Status and Result compilation
Major features implemented and Bugs resolved
Week 3:
(Conclusion)
  • P1: Develop Result functionality with graphs
  • P0: Test Preview (Bug fix)
  • P2: Develop Final Dashboard functionality
  • P3: [Conclusion] Code clean-up, removing redundant code, and maintaining proper documentation
  • P4: Hosting the Website
Problem Statement completed successfully, improved Code Maintainability

Weekly updates are compiled in this document: Agile Workflow
Link to GitHub Project Dashboard: Project Dashboard

🎯 Features:

Check out the detailed document for features and performance report: ExamPlus Features

Feature Feature
Home Page: Home Page contains the website information customized using React and Bootstrap.

Home Page
Sign-in: Sign In options for registered users. Mouse Interactive UI developed using react-particle-js.

Sign In
Sign-Up: Sign Up option for new users. Mouse Interactive UI developed using react-particle-js. Authentication done using JWT Authentication.

Sign Up
Profile: Users can see their profile.

Profile
Create Test (Teacher): Teachers can create tests for Students for a particular class - filling up Test Name, Category, Class, Section, Duration, Marks, Rules, Questions, Options etc.

Create Test
Assigned Tests (Teacher): Teachers can see all the tests they have assigned.

Assigned Test (Teacher)
Test Status (Teacher): Teachers can the students who attempted a particular test and their marks analysis in detail.

Test Status (Teacher)
Teacher Dashboard: Teachers can see a summarized dashboard with all the tests they have recently assigned and the registered classes.

Teacher Dashboard
Student Dashboard: Students can see a summarized dashboard with all the available and the attempted tests.

Student Dashboard
Available Tests (Student): Students can see all the tests available tests given by teachers.

Available Test (Student)
Test Instructions (Student): After choosing to attempt a test, students would be redirected to the test instructions page.

Test Instructions (Student)
Attempt Test (Student): Students can attempt an assigned test. The test will be live.

Live Test
Results (Student): Students can check the results of an attempted test. Graphical formations developed using react-google-charts.

Result (Student)
Live Test features:
  • The test is resumable.
  • Test countdown timer.
  • Only one attempt per test
  • Auto Submit Test on completion of the test duration.
  • Next and previous options.
  • Can clear the selected response to a question.
  • Can flag a particular question during the test.

🎯 Technologies used:

Backend : JavaScript Node.jsExpress.js

Frontend : ReactReactBootstrap

DataBase : MongoDB

Version Control : Git

Hosting : Heroku

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

🎯 Installation/Environment Setup:

Prerequisites For Running The Project Locally:

β€’ Node     β€’ NPM     β€’ Git 

1. Clone App

Create a new folder and clone the repository there using the following command:

 $ git clone https://github.com/Shatakshis667/Microsoft-Engage-2021-Project.git

2. Backend Set-Up and Installations:

Head inside the cloned folder and install the dependencies using npm:

 $ npm install 

Next, create a .env file in the root of the project directory and put all the config keys in this manner:

 JWT_SECRET = 
 MONGODB_DATABASE_NAME = 
 MONGODB_USERNAME = 
 MONGODB_PASSWORD = 

Now, to start the backend server run:

  $ node index.js

3. Frontend Set-Up and Installations:

Head to the client side:

  $ cd client/
  $ cd ep-client/

Install the dependencies using npm:

  $ npm install

Finally, run:

  $ npm start
NOTE: It would automatically spin up a development server for you on PORT:3000 & backend server on PORT 5000

🎯 Future Scopes:-

Feature Explanation
Upload Profile Picture Allowing Users to upload their profile pictures.
Update Profile Allowing Users to update their profile.
Warning messages Warning pop-ups when a student tries to move out of the test.
Update and Delete Test Allowing Teachers to update and delete the tests they have assigned.

🎯 Conclusion:-

I would like to thank my mentor for their guidance and the Microsoft Team for curating this wonderful learning experience and for all the informative sessions. ❀️

About

ExamPlus πŸ’Ž provides an integrated platform for the students as well as the teachers to conduct examinations digitally in a hassle-free manner. One can create, attempt, and monitor tests, and maintain score records easily.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published