- Registration System(Login/Signup).
- Change Password
- Forgot password
- Edit Profile/ Upload Photos
- Profile for each user containing - :
- Upcoming Quizzes that the user has registered for
- Already Attempted Quizzes and their results and graphical analysis
- Separate dashboard for admin and student.
- A student can only have single session on the website.
-
Student can register for upcoming Quizzes.
-
Quiz Creation
- Quiz Id and Password automatically generated and sent to the creator via email (Doesn't works behind a Proxy)
- Specific date and time for Quizzes.
- Each Quiz can only be attempted at that specified date and time
- Duration Field for Quizzes
- Each Quiz can have its separate Duration
- About and Instructions Field for Quiz. Here additional info for each quiz will be added.
-
An Interface for adding Questions
-
A single form can be used to do the following-:
- Subjective Questions can be added.
- Objective Question Single-Correct , as well as objective Questions Multi-correct can be added
- Four options are available
- Correct Answer field stores one of correct options A, B, C, D or many separated by semicolon A;B
- Separate field for adding code in Questions. It will show up as
<code>
- Images can be added with the Question
- Link Field for adding extra content or references
-
Each Question has it's own time limit
- Cannot take Quiz without password.
- Quiz will only start at it's own time
- Questions come one by one without an option to go back.
- Question Submission without reload.
- Questions are shuffled up for each user.
- Timer for Quiz
- Timer for each Question
- Objective Questions are automatically graded on submission of Quiz
- Separate place in admin panel for grading subjective Questions of the answersheet
- Leaderboard for each of the Quizzes.
- FRONTEND : HTML5 , CSS, BOOTSTRAP 4, JavaScript, jQuery ,AJAX
- BACKEND : Django
Note - All the additional python lobraries can be installed using requirements.txt
- Clone the Repository
- Make Sure You have Python3 installed.
- Do the following - :
pip install requirements.txt
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
- visit 127.0.0.1:8000
- Use
python manage.py collectstatic
to Collect Static files during the first run as their copy in project root is being ignored
- Accounts - For managing signup and authentication of both the admins and the users
- quiz - For conducting quizzes
- admin_panel - For creating quizzes and grading them
S. No | Model | App | Description |
---|---|---|---|
1. | User | Account | AbstractBaseUser |
2. | Quiz | Quiz | The Quiz model generalised for all kinds of quizzes. |
3. | Questions | Quiz | Each Question will be connected to its Quiz and Each question is generalised to contain all kinds of questions. Subjective as well as objective. |
4. | Answersheet | Admin Panel | An answersheet for each contestant for every quiz. The Sheet will be created when user registers for the quiz. It will store the marks obtained, time elapsed etc. |
5. | Answer | Admin Panel | This model will be used to store answers to the questions as well as time elapsed in each questions |
S. No | Name | Registration Number |
---|---|---|
1. | Ashwini Ojha | 20175008 |
2. | Rohit Raj Anand | 20175139 |
3. | Sheetal Singh | 20175015 |