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.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lets_quiz
.gitignore
LICENSE
README.md
requirements.txt

README.md

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

Dependencies:

  • 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 https://github.com/akashgiricse/lets-quiz.git
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 manage.py migrate

7. Create superuser

python manage.py createsuperuser

8. Run development server

python manage.py runserver

Contribute

Contributors

Support

  • If you are having issues, please let me know. I have a mailing list located at: buggyrango@gmail.com

License

MIT License

Copyright (c) 2018 Akash Giri.

You can’t perform that action at this time.