My_Quiz_Application_REST

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap

About The Project

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

(back to top)

Built With

DjangoREST Visual Studio Code SQLite

(back to top)

Getting Started

Installation

  1. Clone the repo
    git clone https://github.com/cargil-francis/My_Quiz_Application_REST.git
  2. CD to project
    cd My_Quiz_Application_REST

(back to top)

Follow the given steps to run the project in your localhost.

Prerequisites

  • 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
    

Usage

Screenshots of the project using Postman *User Registeration Screenshot from 2023-03-03 03-19-00

*Login Using JWT Token Screenshot from 2023-03-03 03-19-00

*User Profile Screenshot from 2023-03-03 03-26-31

  • Quiz Analytics Screenshot from 2023-02-26 23-31-28

  • Quiz Listing Screenshot from 2023-02-26 23-32-27

*Token blacklist Screenshot from 2023-03-03 12-14-50

(back to top)

Roadmap

  • 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.

(back to top)