|
[](https://github.com/codespaces/new?hide_repo_select=true&repo=pamelafox%2Fdjango-quiz-app) |
|
|
|
# Quizzes app |
|
|
|
An example Django app that serves quizzes and lets people know how they scored. |
|
Quizzes and their questions are stored in a PostGreSQL database. |
|
There is no user authentication or per-user data stored. |
|
|
|
Try it out at: |
|
|
|
``` |
|
https://django-example-quizsite.azurewebsites.net/quizzes/ |
|
``` |
|
|
|
## Local development |
|
|
|
Install the requirements and Git hooks: |
|
|
|
``` |
|
pip install -r requirements-dev.txt |
|
pre-commit install |
|
``` |
|
|
|
Create a local PostGreSQL database called "quizsite" |
|
and update `.env` with the relevant database details. |
|
|
|
Run the migrations: |
|
|
|
``` |
|
python manage.py migrate |
|
``` |
|
|
|
Run the local server: |
|
|
|
``` |
|
python manage.py runserver |
|
``` |
|
|
|
Run tests: |
|
|
|
``` |
|
python manage.py collectstatic |
|
coverage run --source='.' manage.py test quizzes |
|
coverage report |
|
``` |
|
|
|
## Deployment |
|
|
|
This repository is set up for deployment on Azure App Service (w/PostGreSQL flexible server) using the configuration files in the `infra` folder. |
|
|
|
1. Sign up for a [free Azure account](https://azure.microsoft.com/free/?WT.mc_id=python-79461-pamelafox) |
|
2. Install the [Azure Dev CLI](https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd?WT.mc_id=python-79461-pamelafox). (If you open this repository in Codespaces or with the VS Code Dev Containers extension, that part will be done for you.) |
|
3. Provision and deploy all the resources: |
|
|
|
``` |
|
azd up |
|
``` |
|
|
|
4. To be able to access `/admin`, you'll need a Django superuser. Navigate to the Azure Portal for the App Service, select SSH, and run this command: |
|
|
|
``` |
|
python manage.py createsuperuser |
|
``` |
|
|