A full-stack ticket management system with real-time collaboration features. Built with FastAPI backend and React frontend, providing a Kanban-style interface for managing projects and tickets.
video.mp4
- Email-based OTP authentication with JWT tokens
- Project creation and management
- Kanban board with 5-stage workflow (Proposed → To Do → In Progress → Done → Deployed)
- Real-time updates via WebSocket connections
- Activity notifications and user tracking
- Super mode for enhanced user information display
- FastAPI - Modern Python web framework
- MongoDB - NoSQL Database
- WebSockets - Real-time communication
- Pydantic - Data validation and settings management
- JWT - https - Token-based authentication
- React 19 - Modern UI library with latest features
- TypeScript - Type-safe JavaScript
- Vite - Fast build tool and dev server
- TailwindCSS - Utility-first CSS framework
- React Router - Client-side routing
- Docker - Containerization
- Docker Compose - Multi-container orchestration
- Nginx - Production web server
- Python
- Node
- Docker and Docker Compose
- uv (install via pip) - Ive used uv coz its rust based and 100x faster than pip
Backend:
cd TICKET_DASHBOARD
uv venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn backend.main:app --reload
Frontend:
cd frontend
npm install
npm run dev
- Clone the repository and navigate to project directory
- Start all services:
docker-compose up -d
- Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Access the application at http://localhost:5173
- Login with any email address
- Check logs for OTP code (development mode)
- Create projects and manage tickets through the Kanban interface
- Enable Super Mode with password
admin123
for additional user information
DATABASE_URL= MongoDB URL starts with mongodb+srv://
JWT_SECRET= your-secret-key
SUPER_TOGGLE_PWD=admin123
MONGO_DB_NAME=ticket_dashboard
SUPER_TOGGLE_PWD=admin123
MAIL_USERNAME=sender_email
MAIL_PASSWORD=get_from_smtp_provider
MAIL_FROM=sender_email
VITE_API_URL=http://localhost:8000
change this to backend deployed url
POST /auth/request-otp
- Request OTP for emailPOST /auth/verify-otp
- Verify OTP and get JWT tokenGET /auth/me
- Get current user information
GET /api/projects
- List all projectsPOST /api/projects
- Create new projectGET /api/projects/{id}
- Get project with ticketsPOST /api/tickets
- Create new ticketPATCH /api/tickets/{id}
- Update ticket
GET /api/activities
- Get activity feedGET/POST /api/super-toggle
- Manage super modeWS /ws/activity
- WebSocket for real-time updates