A complete support ticket system built with Django (Backend), React (Frontend), and PostgreSQL (Database), featuring LLM-powered ticket classification.
- Ticket Submission: Users can create tickets with title and description.
- AI Classification: Real-time category and priority suggestions using OpenAI-compatible API.
- Ticket Management: List tickets with filters (category, priority, status) and search.
- Stats Dashboard: Live statistics showing ticket distribution by status and category.
- Dockerized: Fully containerized setup for easy deployment.
- Backend: Django, Django REST Framework
- Frontend: React, Vite, Lucide-React
- Database: PostgreSQL
- AI: OpenAI GPT-3.5-turbo (or compatible API)
- Containerization: Docker, Docker Compose
- Docker and Docker Compose installed.
- OpenAI API Key.
Create a .env file in the root directory:
OPENAI_API_KEY=your_openai_api_key_hereRun the following command to start the entire system:
docker-compose up --build- Frontend: http://localhost:5173
- Backend API: http://localhost:8000/api/
- Django Admin: http://localhost:8000/admin/
- Model-First Architecture: Enforced constraints at the database level for data integrity.
- LLM Fallback: Implemented graceful error handling for LLM timeouts or failures, falling back to "general" category.
- ORM Aggregation: Used Django's
annotateandCountfor statistics to ensure performance. - Vibrant UI: Used a dark-themed CSS design with glassmorphism and smooth animations.