Skip to content

itsjoxdev/ticketflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TicketFlow 🎫

GitHub FastAPI Next.js PostgreSQL Docker

A production-ready Help Desk Ticket Management System built to streamline IT support operations through a modern web-based platform.

TicketFlow enables organizations to manage support requests, assign technicians, track ticket progress, and monitor IT operations through a centralized dashboard.


πŸš€ Overview

Traditional IT support workflows often depend on emails, spreadsheets, or messaging applications, causing:

  • Lost support requests
  • Poor visibility
  • No assignment workflow
  • Difficult ticket tracking
  • Lack of operational insights

TicketFlow solves this by providing a structured ticket lifecycle management system.


✨ Core Features

πŸ” Authentication

  • Secure login system
  • JWT-based authentication
  • Password hashing
  • Role-Based Access Control (RBAC)

Supported roles:

  • Administrator
  • Technician
  • Employee

🎫 Ticket Management

Users can:

  • Create support tickets
  • Track ticket status
  • View ticket history

Technicians can:

  • View assigned tickets
  • Update ticket status

Administrators can:

  • Assign technicians
  • Manage ticket workflow
  • Monitor support activity

πŸ“Š Dashboard

Provides operational visibility through:

  • Total tickets
  • Open tickets
  • In-progress tickets
  • Closed tickets
  • Assigned workload overview
  • Recent ticket activity

πŸ—οΈ Architecture

TicketFlow follows production-grade software architecture principles:

  • Feature-Based Architecture
  • Clean Architecture
  • RESTful API Design
  • Modular Backend Structure
  • Component-Based Frontend
  • Docker-Based Deployment

High-level architecture:

Client

↓

Next.js Frontend

↓

FastAPI Backend

↓

PostgreSQL Database

πŸ› οΈ Tech Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS

Backend

  • FastAPI
  • Python
  • SQLAlchemy 2.x
  • Pydantic

Database

  • PostgreSQL
  • Alembic Migrations

Infrastructure

  • Docker
  • Docker Compose
  • Nginx
  • GitHub Actions

πŸ“ Project Structure

ticketflow/

β”œβ”€β”€ apps/
β”‚
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── FastAPI Backend
β”‚   β”‚
β”‚   └── web/
β”‚       └── Next.js Frontend
β”‚
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ product/
β”‚   β”œβ”€β”€ architecture/
β”‚   β”œβ”€β”€ development/
β”‚   └── adr/
β”‚
β”œβ”€β”€ infra/
β”‚   β”œβ”€β”€ docker/
β”‚   β”œβ”€β”€ nginx/
β”‚   └── monitoring/
β”‚
β”œβ”€β”€ shared/
β”‚   β”œβ”€β”€ contracts/
β”‚   └── constants/
β”‚
└── docker-compose.yml

πŸ“š Documentation

Complete project documentation is available inside:

docs/

Includes:

Product

  • Product Requirements Document

Architecture

  • System Architecture
  • Database Design
  • API Guide
  • Security Guidelines
  • Deployment Guide

Development

  • Development Rules

ADRs

  • Architecture Decision Records

πŸ—„οΈ Database Design

TicketFlow uses PostgreSQL with a relational model.

Core entities:

Users

↓

Tickets

A user can:

  • Create tickets
  • Be assigned as a technician

Database documentation:

docs/architecture/database-design.md

πŸ”Œ API

REST API version:

/api/v1

Authentication:

Authorization: Bearer <JWT_TOKEN>

API documentation:

docs/architecture/api-guide.md

πŸ”’ Security

Security practices include:

  • JWT authentication
  • bcrypt password hashing
  • RBAC authorization
  • Input validation
  • Secure environment variables
  • Protected API endpoints

Security documentation:

docs/architecture/security.md

🐳 Running Locally

Requirements

  • Docker
  • Docker Compose
  • Git

Clone Repository

git clone https://github.com/<username>/ticketflow.git

cd ticketflow

Environment Setup

Create environment files:

.env

based on:

.env.example

Start Application

docker compose up --build

πŸ§ͺ Development Workflow

The project follows:

  • Feature-based development
  • Conventional commits
  • Code review practices
  • Automated testing
  • Documentation-driven development

🧭 Roadmap

MVP

  • Authentication
  • User Roles
  • Ticket Creation
  • Ticket Assignment
  • Ticket Status Management
  • Dashboard

Future Releases

Planned:

  • Ticket Comments
  • File Attachments
  • Email Notifications
  • Knowledge Base
  • Advanced Analytics
  • AI Ticket Assistant
  • Audit Logs

πŸ“Œ Engineering Decisions

Important architectural decisions are documented in:

docs/adr/

Examples:

  • Why Monorepo?
  • Why PostgreSQL?
  • Why Feature-Based Architecture?
  • Why JWT Authentication?

🀝 Contribution

Contributions should follow:

  • Development rules
  • Coding standards
  • Architecture guidelines

Before submitting changes:

  • Run tests
  • Check formatting
  • Update documentation

πŸ“„ License

This project is currently maintained as a portfolio and learning project.

License information will be added in future releases.


πŸ‘¨β€πŸ’» Author

Developed as a production-oriented IT Support Management System.

Built with:

  • FastAPI
  • Next.js
  • PostgreSQL
  • Docker

About

A production-ready Help Desk Ticket Management System built with FastAPI, Next.js, and PostgreSQL.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages