How khoidep-zai/cdtn1-nguyenbaanhkhoi-l2 works
This is a prototype warranty-intake and preliminary-issue-classification application. Its intended workflow is customer lookup or registration, ticket creation, issue classification and SLA calculation, then status updates with a history timeline and ticket listing/detail views. The browser currently implements several ticket actions as UI simulations; customer lookup is the sampled live API integration. Backend ticket APIs are present, but ticket state is held in memory, not PostgreSQL. The README describes technician assignment as a later handoff; sampled code does not implement it. Dataset and loader internals are only partially evidenced.
Main entry points: ticketService.js Ticket workflow · index.js Express app · dataLoader.js Dataset loader · app.js Reception screens
Components 17
Reception UI
- Reception screens
src/frontend/app.js
HTTP API
- Express app
src/backend/index.js - Customer routes
src/backend/routes/customerRoutes.js - Ticket routes
src/backend/routes/ticketRoutes.js - Catalog routes
src/backend/routes/catalogRoutes.js - Ticket validation
src/backend/middlewares/validateTicket.js
Intake Domain
- Customer operations
src/backend/controllers/customerController.js - Ticket operations
src/backend/controllers/ticketController.js - Catalog operations
src/backend/controllers/catalogController.js - Ticket workflow
src/backend/services/ticketService.js - SLA calculation
src/backend/utils/slaHelper.js - Phone normalization
src/backend/utils/phoneHelper.js - Status configuration
src/backend/config/index.js
Reference Data
- Dataset loader
src/backend/data/dataLoader.js - Warranty CSV data
dataset
Other components
- Receptionist
- Technician handoff
Connections 19
- Receptionist → Reception screens: uses
- Reception screens → Express app: loads UI
- Express app → Customer routes: mounts
- Express app → Ticket routes: mounts
- Express app → Catalog routes: mounts
- Reception screens → Customer routes: looks up customer
- Customer routes → Customer operations: dispatches
- Customer operations → Phone normalization: normalizes phone
- Customer operations → Dataset loader: finds or adds customer
- Ticket routes → Ticket validation: validates create/status
- Ticket routes → Ticket operations: dispatches
- Ticket operations → Ticket workflow: invokes workflow
- Ticket workflow → Dataset loader: loads initial tickets
- Ticket workflow → SLA calculation: calculates due date
- Ticket workflow → Status configuration: reads statuses
- Catalog routes → Catalog operations: dispatches
- Catalog operations → Dataset loader: reads catalogs
- Dataset loader → Warranty CSV data: loads records
- Ticket workflow → Technician handoff: handoff intended