This project consists of a Django application used by the Department of Biodiversity, Conservation and Attractions to record and manage IT assets and analytics.
The recommended way to set up this project for development is using Poetry to install and manage a virtual Python environment. With Poetry installed, change into the project directory and run:
poetry install
Activate the virtualenv like so:
poetry shell
To run Python commands in the virtualenv, thereafter run them like so:
python manage.py
Manage new or updating project dependencies with Poetry also, like so:
poetry add newpackage==1.0
This project uses confy to set environment variables (in a .env
file).
The following variables are required for the project to run:
DATABASE_URL="postgis://USER:PASSWORD@HOST:PORT/DATABASE_NAME"
SECRET_KEY="ThisIsASecretKey"
Use runserver
to run a local copy of the application:
python manage.py runserver 0:8080
Run console commands manually:
python manage.py shell_plus
Start with pip install coverage
. Run unit tests and obtain test coverage as follows:
coverage run --source='.' manage.py test -k
coverage report -m
To build a new Docker image from the Dockerfile
:
docker image build -t ghcr.io/dbca-wa/it-assets .
This project includes the following pre-commit hooks:
- TruffleHog (credential scanning): https://github.com/marketplace/actions/trufflehog-oss
Pre-commit hooks may have additional system dependencies to run. Optionally install pre-commit hooks locally like so (with the virtualenv activated first):
pre-commit install
Reference: https://pre-commit.com/