How lazyoroz/supportflow works
SupportFlow is a role-based helpdesk: customers register, create and track tickets; agents handle assigned tickets and communicate with customers; administrators oversee tickets, agents, and user moderation. The React application routes users to role-specific pages and the ASP.NET API enforces authorization and ticket rules. The graph highlights ticket lifecycle, comments, authentication, administration, and persistence. Some frontend-to-API links are documented only at a feature level; source excerpts for several controllers and pages were not provided.
Main entry points: api.js HTTP API client · App.jsx Role-based routes · SupportFlowDbContext.cs MySQL persistence · AuthService.cs Registration and login
Components 23
React application
- Role-based routes
frontend/src/App.jsx - Login and registration
frontend/src/pages/LoginPage.jsx - Customer ticket pages
frontend/src/pages/CreateTicketPage.jsx - Agent dashboard
frontend/src/pages/AgentDashboardPage.jsx - Admin workspaces
frontend/src/pages/AdminTicketsPage.jsx - Ticket details
frontend/src/pages/TicketDetailsPage.jsx - HTTP API client
frontend/src/services/api.js
API and application services
- Authentication endpoints
backend/SupportFlow.Api/Controllers/AuthController.cs - Ticket endpoints
backend/SupportFlow.Api/Controllers/TicketsController.cs - Comment endpoints
backend/SupportFlow.Api/Controllers/CommentsController.cs - Administration endpoints
backend/SupportFlow.Api/Controllers/AdminController.cs - Audit records and moderation
backend/SupportFlow.Api/Controllers/AdminController.cs - Token generator contract
backend/SupportFlow.Application/Auth/Interfaces/IJwtTokenGenerator.cs - Ticket service contract
backend/SupportFlow.Application/Tickets/Interfaces/ITicketService.cs
Helpdesk domain
- Ticket status and metadata
backend/SupportFlow.Domain/Entities/Ticket.cs - Comment visibility
backend/SupportFlow.Domain/Entities/Comment.cs - Users and roles
backend/SupportFlow.Domain/Entities/User.cs
Infrastructure
- Registration and login
backend/SupportFlow.Infrastructure/Services/AuthService.cs - JWT generation
backend/SupportFlow.Infrastructure/Authentication/JwtTokenGenerator.cs - Ticket lifecycle and assignment
backend/SupportFlow.Infrastructure/Services/TicketService.cs - Public replies and notes
backend/SupportFlow.Infrastructure/Services/CommentService.cs - MySQL persistence
backend/SupportFlow.Infrastructure/Persistence/SupportFlowDbContext.cs
Other components
- Customers and staff
Connections 26
- Customers and staff → Role-based routes: uses
README.md - Role-based routes → Login and registration: routes to
frontend/src/App.jsx - Role-based routes → Customer ticket pages: routes to
frontend/src/App.jsx - Role-based routes → Agent dashboard: routes to
frontend/src/App.jsx - Role-based routes → Admin workspaces: routes to
frontend/src/App.jsx - Role-based routes → Ticket details: routes to
frontend/src/App.jsx - Login and registration → HTTP API client: requests API
- Customer ticket pages → HTTP API client: requests API
- Agent dashboard → HTTP API client: requests API
- Admin workspaces → HTTP API client: requests API
- Ticket details → HTTP API client: requests API
- HTTP API client → Authentication endpoints: calls
- HTTP API client → Ticket endpoints: calls
- HTTP API client → Comment endpoints: calls
- Authentication endpoints → Registration and login: delegates to
backend/SupportFlow.Api/Controllers/AuthController.cs - Ticket endpoints → Ticket service contract: calls
backend/SupportFlow.Api/Controllers/TicketsController.cs - Ticket service contract → Ticket lifecycle and assignment: implemented by
backend/SupportFlow.Infrastructure/Services/TicketService.cs - Comment endpoints → Public replies and notes: delegates to
backend/SupportFlow.Api/Controllers/CommentsController.cs - Administration endpoints → MySQL persistence: reads and writes
backend/SupportFlow.Api/Controllers/AdminController.cs - Registration and login → MySQL persistence: reads and writes
backend/SupportFlow.Infrastructure/Services/AuthService.cs - Registration and login → Token generator contract: requests token
backend/SupportFlow.Infrastructure/Services/AuthService.cs - Token generator contract → JWT generation: implemented by
backend/SupportFlow.Api/Program.cs - Ticket lifecycle and assignment → MySQL persistence: reads and writes
backend/SupportFlow.Infrastructure/Services/TicketService.cs - Public replies and notes → MySQL persistence: reads and writes
backend/SupportFlow.Infrastructure/Services/CommentService.cs - Ticket lifecycle and assignment → Ticket status and metadata: creates and updates
backend/SupportFlow.Infrastructure/Services/TicketService.cs - Public replies and notes → Comment visibility: creates and filters
backend/SupportFlow.Infrastructure/Services/CommentService.cs