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.
- 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.
- 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 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.
- 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.
Dependencies:
- Python 3.6.x
- Django 1.11.x
- Ubuntu 17.04 or later or Linux Mint 18.2 or later
git clone https://github.com/akashgiricse/lets-quiz.git
cd lets_quiz
2. Install the virtualenvwrapper
Follow instructions on official documentation page.
## run following command from `lets_quiz` directory
mkvirtualenv lets_quiz -a "$(pwd)" -p python3.6
## Activate the virtualenv which you created on the last step
workon lets_quiz
cd ..
pip install -r requirements.txt
TODO - Add instructions for this when I start using MySQL database.
cd lets_quiz
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
- Issue Tracker: Issues
- Source Code: Download zip: Release v1.0.1
- If you are having issues, please let me know. I have a mailing list located at: [email protected]
MIT License
Copyright (c) 2018 Akash Giri.