73 lines
2.0 KiB
Markdown
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`
|