Update README.md

This commit is contained in:
Corban-Lee Jones 2024-01-08 23:42:28 +00:00
parent 03de8540b0
commit c229413f49

View File

@ -1,20 +1,64 @@
# Contributing
This guide explains how to contribute.
## Requirements
Django and other related libraries aren't included with python by default, and need to be installed:
1. Setup a python virtual environment
`python -m venv venv`
2. Activate the virtual environment
`source venv/bin/activate` (linux)
`./venv/Scripts/activate.ps1` (windows)
3. Install the pip dependencies
`pip install -r requirements.txt`
## Migrations
If facing migration errors, delete the contents of all `migrations` folders that are numerical (e.g. `0001_initial.py`) and delete the `db.sqlite3` database file. Note you will lose all data.
Migration files instruct the database on how to create tables and other entities.
To get started:
Migration files have already been created, you can import them with:
1. `python manage.py makemigrations authentication`
2. `python manage.py makemigrations home`
3. `python manage.py migrate`
`python manage.py migrate`
## Run the server
If you make changes to the models, you will need to update the migrations:
`python manage.py runserver 0.0.0.0:8000`
Available app names are:
## Access the website
- "home"
- "authentication"
`http://localhost:8000`
`python manage.py makemigrations <APP_NAME>`
## Fixtures
Fixtures allow you to import default data into the database.
They is very useful for testing purposes.
The following fixture options are available:
- `authentication/defaultuser.json` add some default users (<admin@mail.com> & <user@mail.com>, password=password)
- `authentication/department.json` add some default departments
- `home/ticketpriority.json` add some default ticket priorities
- `home/tickettag.json` add some default ticket tags
You can import a fixture using the following command (remember to replace `<OPTION>` with one of the above options):
`python manage.py loaddata apps/fixtures/<OPTION>`
## Running
1. Run the development server
`python manage.py runserver`
2. Access the website
`https://localhost:8000`