EnormoQB is a crowd-sourced question bank developed as a part of Smart India Hackathon 2022 for Department of School Education & Literacy (DoSEL), Ministry of Education.
- Problem Statement
- Inspiration
- Solution
- Features
- Tech Stack
- Project Setup Guide
- Working Model Screenshots
To be able to graduate to objective type questions for one semester of online board exams, a question bank of at least 5000 questions will be required for each subject. Setting question papers for the exams is a complicated task. Can you think of a Crowd Sourcing model where questions are set by large number of anonymous stakeholders thereby creating a large question bank? These questions can be vetted by experts before freezing the same in the question bank. The actual question paper can be set through an automated system.
As we all know setting question papers for the board exams is not an easy task. The following are the drawbacks of the existing board paper setting system:
- It takes a lot of time to manually find and add questions to the question papers of each subject which leads to a prolonged process.
- Another drawback to the existing way is that it requires manpower and unnecessary storage space for the management of previously generated question papers, which is difficult in the longer run.
- Also, Due to the changing environment of examinations in the light of ongoing events, there emerged a need to develop multiple question papers for a single academic year.
We decided to build to work on this problem statemnet to overcome these drawbacks and make examination system better in India.
You don't have to worry because board question papers have a new QB introducing EnormoQB. We came up with an eco-friendly and easy solution to generate question papers for the board exams from the ocean of questions created by the contribution of some brilliant teachers. EnormoQB is advancing the traditional board paper setting system in the following way:
- The generated crowdsourcing model can help us to create a hassle-free and quality question paper with the input of all the brilliant minds around the world.
- The genre of the application not only focuses on a particular use case but can be extended to any format according to the need of the examination.
- From practice set to actual exam set, every other question paper can be set through an automated system in no time.
- There are currently no existing solutions that can automate the question paper generation for Board Exams with a large question bank.
-
Unified website with different privileges (Admin / Reviewer / Exam-setter / Contributor).
-
For Admin
- Maintain the question bank.
- Assign and change roles.
- Has all access rights.
-
For Reviewer
- Review submitted questions and give feedback on rejection.
- Freeze spam user's account.
- Contribute questions like any other contributor.
- Request contributions in topics having less number of questions.
-
For Exam-setter
- Have all rights of a reviewer.
- Generate question papers through an automatic system.
- The permission to generate the paper will be valid for 48 hours and after that exam setter's role will get demoted to the reviewer by the admin.
- View and download the previously generated question papers.
-
For Contributor
- Contribute questions via a form.
- Manage their pending, rejected, and approved questions(View/Delete).
- View previous year's papers.
- Be rewarded for contributions through EnormoQB points system.
- ReactJs
- Redux + RTK Query
- NodeJs
- ExpressJs
- MongoDB
- Docker
- Docker Compose
- Redis
- Natural Language Processing(NLP)
- Python
- Amazon Web Services(AWS)
-
Clone EnormoQB-Frontend-v2 repo and install dependencies
git clone https://github.com/EnormoQB/EnormoQB-Frontend-v2.git cd EnormoQB-Frontend-v2 npm i
-
Copy .env.example content to .env
cp .env.example .env
-
Start the react app
npm start
-
Add .env in the root directory. Here's an example env file for you.
MONGODB_URL GOOGLE_CLIENT_ID GOOGLE_CLIENT_SECRET GOOGLE_REFRESH_TOKEN SMTP_PASSWORD CLIENT_URL SECRET AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_ENDPOINT S3_BUCKET ADMIN_EMAIL ADMIN_PASSWORD NODE_ENV BASE_PATH SIMILARITY_API
-
Start the backend server
npm run dev