The goal of this project is to develop the best quiz platform. This project was made using the Django framework and some minor libraries.
- Responsive design for all types of devices
- Take quiz
- Create quiz
- Single choice quiz answer
- Multi choice quiz answer
- Results of quiz
- Register and login
- Register email notification
- Docker container
- Unit tests
- Django - Back-end server side web framework
- Celery - Simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.
- daphne - HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP, developed to power Django Channels.
- Visual Studio Code - Code Editing.
- pre-commit - Framework for managing and maintaining multi-language pre-commit hooks.
- black - The uncompromising Python code formatter.
- Flake8 - Python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
- Bootstrap 5 - Bootstrap is a powerful, feature-packed frontend toolkit. Build anything-from prototype to production—in minutes.
- Sass - Preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets.
- JavaScript - Programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS
- Docker - Set of platform as a service products that use OS-level virtualization to deliver software in packages called containers.
- Nginx - Web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.
- PostgreSQL - Relational database management system emphasizing extensibility and SQL compliance.
- RabbitMQ - Message-broker software that originally implemented the Advanced Message Queuing Protocol.
- Mailjet - Cloud-based email delivery and tracking system which allows users to send marketing emails and transactional emails.
Step 1:
Download or clone this repo by using the link below:
https://github.com/TBR-Group-software/quiz-project.git
Step 2:
Create in root folder .env file and write in this values:
PSQL_NAME = 'quiz_project'
PSQL_USER = 'postgres'
PSQL_PASSWORD = 'XXX'
PSQL_HOST = 'localhost'
PSQL_PORT = 5432
DJANGO_DEBUG = True/False
DJANGO_ALLOWED_HOSTS = 'XXX'
DJANGO_SECRET_KEY = 'XXX'
RABBITMQ_HOST = 'localhost'
RABBITMQ_PORT = 5672
MAILJET_API_KEY = 'XXX'
MAILJET_SECRET_KEY = 'XXX'
MAILJET_SENDER = 'XXX@XXX.com'
Step 3:
docker-compose up --build
Quiz project is now available at http://127.0.0.1/
Step 1: Create and activate python env
python3 -m venv env
. env/bin/activate
Step 2: Install requirements-dev.txt
pip3 install -r requirements-dev.txt
Step 3: Run PostgreSQL
Step 4: Run RabbitMQ
Step 5: Run django migrations
python3 manage.py migrate
Step 6: Run Django server
python3 manage.py runserver
Quiz project is now available at http://127.0.0.1:8000/
This project is licensed under the GNU GPL v3 License - see the LICENSE.md file for details.