Skip to content
A quiz application using Django framework.
Python HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Let's quiz

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

Current Features

Site access features:

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

Features of the quiz:

  • Every question is multiple choice question.
  • Every question is displayed only once per user.
  • Questions are displayed randomly for every user.
  • If the user 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 counted as attempted.
  • A message is 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 user.
  • If two users have same score, the user who has signed up earlier will have good ranking than the one who joines 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 modify 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 the virtualenvwrapper

Follow instructions on official documentation page.

3. Create the virtualenv

## run following command from `lets_quiz` directory
mkvirtualenv lets_quiz -a "$(pwd)" -p python3.6

4. Install python packages

## Activate the virtualenv which you created on the last step
workon lets_quiz
cd ..
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:


MIT License

Copyright (c) 2018 Akash Giri.

You can’t perform that action at this time.