ticket-website/README.md

73 lines
2.0 KiB
Markdown

# Ticket Website
A simple ticketing system and issue tracker written with Django, Django Rest Framework and Bootstrap 5.
<img src="https://gitea.corbz.dev/corbz/ticket-website/raw/branch/master/examples/light.png" alt="screenshot (light mode)">
<img src="https://gitea.corbz.dev/corbz/ticket-website/raw/branch/master/examples/dark.webp" alt="screenshot (dark mode)">
# 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
`http://localhost:8000`