How mehdichihi-web/ticket_it_classifier works
IT Ticket Classifier lets users authenticate, submit natural-language IT issues, receive category/priority/team predictions, and review ticket results. Its main runtime flow runs from the React app through Express to FastAPI, then stores the prediction in MongoDB and returns the ticket. Separate branches cover personal history, dashboard statistics, and administrator ticket/user management. The README documents these capabilities; some frontend service wiring and unsampled backend internals are represented only where the tree or README supports them.
Main entry points: App.jsx App routing · api.js API services · app.js Express app · ticketController.js Ticket controller
Components 20
React application
- App routing
frontend/src/App.jsx - Login
frontend/src/pages/Login.jsx - Create ticket
frontend/src/pages/CreerTicket.jsx - Ticket history
frontend/src/pages/Historique.jsx - Dashboard
frontend/src/pages/Dashboard.jsx - Admin panel
frontend/src/pages/Admin.jsx - API services
frontend/src/services/api.js
Express API
- Express app
backend/app.js - Auth routes
backend/routes/authRoutes.js - Ticket routes
backend/routes/ticketRoutes.js - Admin routes
backend/routes/adminRoutes.js - Auth controller
backend/controllers/authController.js - Ticket controller
backend/controllers/ticketController.js - Admin controller
backend/controllers/adminController.js - Auth middleware
backend/middleware/authMiddleware.js
ML prediction
- Prediction API
api/main.py
Ticket and user data
- Ticket model
backend/models/Ticket.js - User model
backend/models/User.js - MongoDB
Other components
- User
Connections 29
- User → App routing: uses
- App routing → Login: routes to
- App routing → Create ticket: routes to
- App routing → Ticket history: routes to
- App routing → Dashboard: routes to
- App routing → Admin panel: routes to
- Login → API services: requests auth
- Create ticket → API services: submits ticket
- Ticket history → API services: requests history
- Dashboard → API services: requests stats
- Admin panel → API services: requests admin
- API services → Express app: HTTP requests
- Express app → Auth routes: mounts
- Express app → Ticket routes: mounts
- Express app → Admin routes: mounts
- Auth routes → Auth middleware: auth limits
- Auth routes → Auth controller: dispatches
- Ticket routes → Auth middleware: protects routes
- Ticket routes → Ticket controller: dispatches
- Admin routes → Auth middleware: checks access
- Admin routes → Admin controller: dispatches
- Auth controller → User model: reads/writes
- Ticket controller → Prediction API: requests prediction
- Prediction API → Ticket controller: returns labels
- Ticket controller → Ticket model: creates/reads
- Admin controller → Ticket model: manages tickets
- Admin controller → User model: manages users
- Ticket model → MongoDB: persists tickets
- User model → MongoDB: persists users