Let's Quiz
letsquiz.pythonanywhere.com/
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.
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
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
Pipenv
2. Install3. 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 manage.py migrate
7. Create superuser
python manage.py createsuperuser
8. Run development server
python manage.py runserver
Contribute
- Issue Tracker: Issues
- Source Code: Download zip: Release v1.0.1
Contributors
Support
- If you are having issues, please let me know. I have a mailing list located at: [email protected]
License
MIT License
Copyright (c) 2022 Akash Giri.