A modern, intelligent ticketing application that transforms messy, unstructured user input into professional engineering tickets. Using the power of Gemini 1.5 Flash, the system handles the heavy lifting of categorization, prioritization, and formatting, allowing teams to focus on building.
- Magic Input: Submit bugs or features in plain English; the AI automatically extracts the title, description, type, and priority.
- Semantic Search: Uses vector embeddings (pgvector) to detect potential duplicate tickets before they are created.
- Interactive Kanban Board: Drag-and-drop interface for managing ticket lifecycles from Backlog to Done.
- Slack Integration: Built-in webhook support to capture requests directly from team conversations.
- Auto-Prioritization: Intelligent assessment of request urgency based on user sentiment and context.
- FastAPI: High-performance Python web framework.
- Google Gemini API: Generative AI for ticket parsing and text embeddings.
- SQLAlchemy & PostgreSQL: Robust data persistence with vector similarity support via
pgvector. - Alembic: Database migrations management.
- Next.js 14: React framework with App Router.
- Tailwind CSS: Utility-first styling for a clean, modern UI.
- Zustand: Lightweight state management for the sprint board.
- @hello-pangea/dnd: Accessible drag-and-drop functionality.
- Docker and Docker Compose
- Python 3.10+
- Node.js 18+
- Gemini API Key
- Clone the repository
- Database Setup (using Docker):
Note: This starts a PostgreSQL instance with the
docker-compose up -d
pgvectorextension. - Backend Setup:
cd backend pip install -r requirements.txt # Create a .env file with DATABASE_URL and GEMINI_API_KEY python main.py
- Frontend Setup:
cd frontend npm install npm run dev
- Create a Ticket: Navigate to the Dashboard or Sprint Board and type a request like: "The checkout page crashes when users try to apply a discount code."
- AI Processing: The system will call the Gemini API to generate a structured ticket.
- Manage Workflow: Drag the resulting ticket through the Kanban columns as work progresses.
- View All: Use the "All Tickets" list view for a dense, searchable overview of the system state.
/backend: FastAPI application, AI service logic, and database models./frontend: Next.js application, Kanban components, and state management.
This project is licensed under the MIT License.