ticket-website/README.md

66 lines
1.6 KiB
Markdown

# 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
Migration files instruct the database on how to create tables and other entities.
Migration files have already been created, you can import them with:
`python manage.py migrate`
If you make changes to the models, you will need to update the migrations:
Available app names are:
- "home"
- "authentication"
`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
- `home/defaulttickets.json` add some default tickets (depends on ticketpriority and tickettag fixtures)
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`