Skip to content

A quiz website for organizing online quizzes and tests. It's build using Python/Django and Bootstrap4 frameworks. 🤖

License

Notifications You must be signed in to change notification settings

ayush9000/lets-quiz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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:

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

License

MIT License

Copyright (c) 2018 Akash Giri.

About

A quiz website for organizing online quizzes and tests. It's build using Python/Django and Bootstrap4 frameworks. 🤖

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 61.6%
  • HTML 38.4%