Skip to content

admiral9200/lets-quiz

Repository files navigation

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 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

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 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 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: [email protected]

License

MIT License

Copyright (c) 2022 Akash Giri.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published