An industry-level, full-stack customer support application featuring real-time communication, intelligent AI-driven ticket management, and professional analytics dashboards.
- 🤖 AI-Driven Intelligence: Automatic ticket classification, sentiment analysis, and smart reply suggestions for agents powered by OpenAI.
- 💬 Real-Time Communication: Live, bidirectional chat between customers and support agents using WebSockets (Socket.IO).
- 📊 Role-Based Dashboards:
- Customer: Submit tickets, track status, and chat with agents.
- Agent: Manage ticket queues, track SLAs, and use AI-assist for replies.
- Admin: Monitor system KPIs, track agent performance, and use "Smart Routing" to assign tickets.
- 🔒 Secure Architecture: Robust JWT-based authentication with role-based access control (RBAC).
- 📈 Advanced Analytics: Data visualization for ticket volume trends and resolution performance.
Frontend:
- React 18+
- Tailwind CSS (Modern, Responsive UI)
- Lucide React (Iconography)
- Recharts (Data Visualization)
- Axios (API Communication)
- Socket.io-client (Real-time)
Backend:
- Flask (Python Web Framework)
- PostgreSQL (Relational Database)
- Flask-SQLAlchemy (ORM)
- Flask-JWT-Extended (Authentication)
- Flask-SocketIO (Real-time)
- OpenAI API (Intelligence)
- Python 3.8+
- Node.js & npm
- PostgreSQL Database
- Navigate to the
backenddirectory. - Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.envfile in thebackendfolder:SECRET_KEY=your-long-random-secret-key-32-chars+ JWT_SECRET_KEY=your-long-random-jwt-key-32-chars+ DATABASE_URL=postgresql://user:password@localhost:5432/db_name OPENAI_API_KEY=your-openai-key
- Initialize the database:
flask db upgrade
- Run the server:
python app.py
- Navigate to the
frontenddirectory. - Install dependencies:
npm install
- Run the development server:
npm run dev
If you have Docker installed, you can start the entire stack (Database, Backend, Frontend) with a single command:
- Build and Start:
docker-compose up --build
- Access the App:
- Frontend:
http://localhost - Backend API:
http://localhost:5000/api - Database:
localhost:5432
- Frontend:
├── backend/
│ ├── routes/ # API Blueprints (Auth, Tickets, Admin, Chat)
│ ├── services/ # AI Service logic
│ ├── models.py # Database Schema
│ ├── extensions.py # Flask Extensions
│ └── app.py # Application Factory
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI elements
│ │ ├── context/ # Auth & State Management
│ │ ├── pages/ # Dashboard & Auth views
│ │ └── services/ # API & WebSocket clients