SysSn13 / lets-quiz

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

Home Page:http://letsquiz.pythonanywhere.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

http://letsquiz.pythonanywhere.com/

License:MIT License


Languages

Language:Python 60.7%Language:HTML 39.3%Language:JavaScript 0.0%