Table of Contents
MY_Quiz_Application_Rest is a python project created using DjangoRestframework. An Online Quiz Application with Admin and Users. Various features are included in the project
- Clone the repo
git clone https://github.com/cargil-francis/My_Quiz_Application_REST.git
- CD to project
cd My_Quiz_Application_REST
Follow the given steps to run the project in your localhost.
-
Install Python
$ sudo apt install python3
-
Create an environment
$ python3 -m venv venv
-
Activate environment
$ source env/bin/activate
-
Install dependencies
$ (venv) python -m pip install -r requirements.txt
-
Make migrations
$ (venv) python3 manage.py makemigrations
-
Migrate models
$ (venv) python3 manage.py migrate
-
Run the project
$ (venv) python3 manage.py runserver
Screenshots of the project using Postman *User Registeration
- User Authentication: Users should be able to sign up, log in, and log out. The authentication system should use JWT tokens.
- Quiz Creation: Users should be able to create quizzes. Each quiz should have a title and a set of questions with multiple choices.
- Quiz Taking: Users should be able to take quizzes. Each quiz should have a set of questions with multiple choices, and the user should be able to select their answer. After the user has completed the quiz, the system should display their score.
- Quiz Results: Users should be able to view their quiz results. The system should display the user's score for each quiz they have taken.
- Quiz Listing: The system should display a list of available quizzes that users can take.
- Quiz Filtering: Users should be able to filter quizzes by topic, difficulty level, and date created.
- Quiz Analytics: The system should display analytics on each quiz, such as the average score, the number of times the quiz has been taken, and the percentage of users who have passed the quiz.
- User Profile: Users should be able to view their profile, which should display their username, email, and a list of quizzes they have created.
- User Management: Admin users should be able to manage users, including creating, editing, and deleting user accounts.