Free and open source ticket system written in python
1# paw - Ticket System
2
3[](LICENSE)
4[](https://www.python.org/downloads/release/python-3120/)
5<a href='https://ko-fi.com/alexottr' target='_blank'><img height='35' style='border:0px;height:24px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com'></a>
6
7🚀 paw is a comprehensive and open source ticket management system designed to streamline issue tracking and resolution processes for organizations. It provides a centralized platform for users to submit, track, and manage tickets or requests, facilitating efficient communication and collaboration among team members.
8
9## Features
10
11- **Ticket Creation and Submission:** Users can create and submit tickets with detailed information about the issue, including title, description, priority, and category and file attachments.
12
13- **Ticket Assignment and Ownership:** Tickets can be assigned to specific individuals or teams responsible for resolution, allowing for clear ownership and accountability.
14
15- **Communication and Collaboration:** Threaded communication enables seamless collaboration among team members, with the ability to add (internal) comments, attachments, and updates to tickets.
16
17- **Security and Access Control:** Secure user authentication, access controls, and audit trails ensure data privacy and compliance with organizational policies and regulations. You can create teams and restrict access of ticket categories to them.
18
19## Installation
20
21### As a Developer
22
231. Clone the repository:
24
25```bash
26git clone https://github.com/aottr/paw.git
27```
28
292. Install dependencies:
30
31```bash
32poetry install
33```
34
353. Configure settings:
36 Copy `.env.example` to `.env` and update the configuration variables as needed.
37
384. Run migrations:
39
40```bash
41poetry run python manage.py migrate
42```
43
445. Start the development server:
45
46```bash
47poetry run python manage.py runserver
48```
49
50### Docker / OCI Container
51
52The Project contains a [Dockerfile](Dockerfile) that can be built locally or in a pipeline. I also provide the latest state of the `main` branch as an image
53
54#### Compose
55
561. Create a compose file, e.g. `docker-compose.yml`
57
58```bash
59version: '3.8'
60services:
61 paw:
62 image: ghcr.io/aottr/paw:latest
63 container_name: paw-ticket-system
64 restart: unless-stopped
65 ports:
66 - "127.0.0.1:8000:8000"
67 env_file:
68 - .env
69```
70
712. Run the container with compose
72
73```bash
74docker compose up -d
75```
76
773. Migrate the database (optional, recommended)
78
79```bash
80docker compose exec paw python manage.py migrate
81```
82
834. Collect static files (optional, recommended)
84
85```bash
86docker compose exec paw python manage.py collectstatic --no-input
87```
88
89## Usage
90
91- Access the application through `http://localhost:8000`.
92- Register an account or log in with existing credentials.
93- Start creating and managing tickets based on your role and permissions.
94
95## Contributing
96
97🙌 Contributions are welcome! Please follow the [guidelines](CONTRIBUTING.md).
98
99## License
100
101This project is licensed under the [MIT License](LICENSE).