How 1blixen/support-tickets-system works
This is an Express-based ticket-management API with authentication, user/employee administration, ticket assignment and comments. The main workflow is authenticated ticket operations, with admin assignment and ticket-linked comments as distinct stages. Authentication also includes email confirmation and token issuance. Source excerpts establish ticket, comment and employee controller calls; the auth controller and bootstrap wiring are known only from the source index, so those relationships are left unverified where needed.
Main entry points: auth.services.ts Authentication · bootstrap.ts Server Bootstrap · ticket.controller.ts Ticket Routes · employee.controller.ts Employee Routes
Components 24
API Runtime
- Server Bootstrap
src/bootstrap.ts - Token Authentication
src/middlewares/auth.middleware.ts - Request Validation
src/middlewares/validation.middleware.ts
Identity & Users
- Auth Routes
src/modules/auth/auth.controller.ts - Employee Routes
src/modules/users/employees/employee.controller.ts - Authentication
src/modules/auth/auth.services.ts - User Records
src/modules/users/user.model.ts - Employee Management
src/modules/users/employees/employee.services.ts
Ticket Workflow
- Ticket Routes
src/modules/tickets/ticket.controller.ts - Comment Routes
src/modules/comments/comment.controller.ts - Ticket Operations
src/modules/tickets/ticket.services.ts - Ticket Records
src/modules/tickets/ticket.model.ts - Comment Operations
src/modules/comments/comment.services.ts - Comment Records
src/modules/comments/comment.model.ts
Shared Services
- MongoDB Connection
src/DB/mongoose.connection.ts - Redis Connection
src/DB/redis.connection.ts - Redis Keys
src/utils/redis/redis.services.ts - Token Utilities
src/utils/security/token.ts - Email Delivery
src/utils/email/sendEmail.ts - OTP Generation
src/utils/email/otp.ts - Email Template
src/utils/email/template.ts - Success Response
src/utils/succesRes.ts - Password Hashing
src/utils/security/hash.ts
Other components
- API Client
Connections 34
- Server Bootstrap → MongoDB Connection: imports connection
src/bootstrap.ts - Server Bootstrap → Redis Connection: imports connection
src/bootstrap.ts - Server Bootstrap → Auth Routes: loads routes
src/bootstrap.ts - Server Bootstrap → Ticket Routes: loads routes
src/bootstrap.ts - Server Bootstrap → Comment Routes: loads routes
src/bootstrap.ts - Server Bootstrap → Employee Routes: loads routes
src/bootstrap.ts - API Client → Ticket Routes: sends requests
- Ticket Routes → Ticket Operations: calls
src/modules/tickets/ticket.controller.ts - Comment Routes → Comment Operations: calls
src/modules/comments/comment.controller.ts - Employee Routes → Employee Management: calls
src/modules/users/employees/employee.controller.ts - Ticket Operations → Ticket Records: reads and writes
src/modules/tickets/ticket.services.ts - Ticket Operations → User Records: looks up assignee
src/modules/tickets/ticket.services.ts - Comment Operations → Ticket Records: references ticket
src/modules/comments/comment.services.ts - Comment Operations → Comment Records: reads and writes
src/modules/comments/comment.services.ts - Employee Management → User Records: manages users
src/modules/users/employees/employee.services.ts - Auth Routes → Authentication: calls
src/modules/auth/auth.controller.ts - Authentication → User Records: reads and creates
src/modules/auth/auth.services.ts - Authentication → Password Hashing: hashes password
src/modules/auth/auth.services.ts - Authentication → OTP Generation: creates OTP
src/modules/auth/auth.services.ts - Authentication → Email Delivery: sends email
src/modules/auth/auth.services.ts - Authentication → Email Template: renders email
src/modules/auth/auth.services.ts - Authentication → Redis Connection: stores OTP and ID
src/modules/auth/auth.services.ts - Authentication → Redis Keys: uses key helpers
src/modules/auth/auth.services.ts - Authentication → Token Utilities: issues tokens
src/modules/auth/auth.services.ts - Token Authentication → Token Utilities: decodes token
src/middlewares/auth.middleware.ts - Ticket Routes → Token Authentication: authenticates requests
src/modules/tickets/ticket.controller.ts - Comment Routes → Token Authentication: authenticates requests
src/modules/comments/comment.controller.ts - Employee Routes → Token Authentication: authenticates requests
src/modules/users/employees/employee.controller.ts - Ticket Routes → Request Validation: validates input
src/modules/tickets/ticket.controller.ts - Comment Routes → Request Validation: validates input
src/modules/comments/comment.controller.ts - Employee Routes → Request Validation: validates input
src/modules/users/employees/employee.controller.ts - Ticket Routes → Success Response: formats response
src/modules/tickets/ticket.controller.ts - Comment Routes → Success Response: formats response
src/modules/comments/comment.controller.ts - Employee Routes → Success Response: formats response
src/modules/users/employees/employee.controller.ts