This is a web-based IT helpdesk system built using Flask and SQLite. I created it to simulate how internal IT teams track and manage support tickets.
Users can submit tickets, and the system automatically assigns a category and priority based on the issue description. On the admin side, tickets can be tracked through different stages and analyzed using built-in reports.
- Submit IT support tickets through a simple form
- Automatic categorization (e.g., network, account issues, software)
- Automatic priority assignment (Low, Medium, High)
- Tickets move through multiple stages:
- Open
- In Progress
- Pending Approval
- Approved
- Closed
- Tracks when tickets are created and resolved
- View all submitted tickets
- Update ticket status
- Filter tickets by status
- Tickets by status
- Tickets by priority
- Tickets created per day
- Average resolution time based on created and closed timestamps
- Basic form validation on both frontend and backend to prevent empty submissions
- Python
- Flask
- SQLite
- HTML/CSS
- Designing a simple but realistic ticket workflow
- Writing SQL queries for reporting (COUNT, GROUP BY, AVG)
- Tracking ticket lifecycle using timestamps
- Keeping the system easy to understand while still being practical
-
Clone the repository and navigate into it: git clone https://github.com/christiandeguzman1/it-helpdesk-ticket-automation.git cd it-helpdesk-ticket-automation
-
Create a virtual environment: python3 -m venv venv
-
Activate the virtual environment:
- macOS/Linux: source venv/bin/activate
- Windows: venv\Scripts\activate
-
Install dependencies: pip install -r requirements.txt
-
Run the application: python app.py
-
Open your browser and go to: http://127.0.0.1:5000