Awesome Open Source
Awesome Open Source

Let's Quiz Website

This is an online quiz organizing website project, developed using Python's web framework Django.
For front-end designing I have used Twitter's front-end library Bootstrap4.

GitHub release GitHub issues GitHub forks GitHub stars GitHub license Open Source Love svg1

Current Features

Site access features:

  • User must be logged in to access the Quiz.
  • For signup user is required to give username, first name, last name, e-mail address and password.
  • For login the user will be required to enter username and password only.

Features of the quiz:

  • All questions are multiple choice question.
  • Each question is displayed only once per user.
  • Questions are displayed randomly for every user.
  • If the user by-mistake presses refresh or go back to the previous page, there will be a new question for the user and the question he/she was on will be marked as attempted.
  • A message will be displayed after every attempted question whether the answer was correct or incorrect.

Leaderboard features:

  • Leaderboard is a shorted list according to the score obtained by the users.
  • If two users are having same score, the user who has signed up earlier will have good ranking than the one who joined late.
  • Leaderboard is open to all. No login required.

Administrative features:

  • Only admin can add questions.
  • Admin can add questions and modify them until they are not marked as Has been published?
  • Once a question has been published, it can neither be modified nor can be accessed. Admin can only see a list of questions.
  • Admin can search questions by question text or choice text.
  • Admin can filter questions based on whether the questions have been published or not.

Getting started with development


  • Python 3.6.x
  • Django 1.11.x
  • Ubuntu 17.04 or later or Linux Mint 18.2 or later

1. Clone this repository

git clone
cd lets_quiz

2. Install Pipenv

3. Create the virtualenv

## run following command from `lets_quiz` directory
pipenv shell

4. Install python packages

pip install -r requirements.txt

5. Setup the database

TODO - Add instructions for this when I start using MySQL database.

6. Run database migrations

cd lets_quiz
python migrate

7. Create superuser

python createsuperuser

8. Run development server

python runserver




  • If you are having issues, please let me know. I have a mailing list located at: [email protected]


MIT License

Copyright (c) 2022 Akash Giri.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (888,878
User (46,589
Django (36,060
Bootstrap (28,701
Admin (21,751
Quiz (4,833
Django Application (1,494
Django Framework (872
Questions And Answers (820
Django Project (403
Quizapp (274
Quiz Game (131
Quizzes (61