How shinusei/helpdesk works
HelpDesk is a role-aware ticketing application. Users create and browse tickets, then view ticket details to track status, comment, and manage attachments; support staff take and resolve assigned work. Administrators also review dashboard statistics, manage users, and configure priority weights and dynamic ticket fields. The Svelte client calls a Spring REST API, with ticket business logic represented by TicketService and persistence by JPA repositories. The README is empty and most backend implementation files were not sampled, so backend links reflect the evident module boundaries; uncertain internal calls are omitted.
Main entry points: api.js API client · App.svelte App and routes · TicketRepository.java Ticket repositories · User.java User records
Components 24
Web client
- App and routes
frontend/src/App.svelte - Create ticket
frontend/src/pages/TicketCreate.svelte - Ticket list
frontend/src/pages/TicketList.svelte - Ticket detail
frontend/src/pages/TicketDetail.svelte - Dashboard
frontend/src/pages/Dashboard.svelte - Priority settings
frontend/src/pages/PrioritySettings.svelte - User administration
frontend/src/pages/UserList.svelte - API client
frontend/src/lib/api.js - Login page
frontend/src/pages/Login.svelte - Support work queue
frontend/src/pages/SupportTakenTickets.svelte
Ticket operations
- Ticket API
src/main/java/com/example/helpdesk/controller/TicketRestController.java - Ticket service
src/main/java/com/example/helpdesk/service/TicketService.java
Administration
- Admin endpoints
src/main/java/com/example/helpdesk/controller/admin - Dashboard endpoint
src/main/java/com/example/helpdesk/controller/admin/DashboardRestController.java - Priority endpoint
src/main/java/com/example/helpdesk/controller/admin/PriorityRestController.java - User endpoint
src/main/java/com/example/helpdesk/controller/admin/UserAdminRestController.java
Backend core
- Priority services
src/main/java/com/example/helpdesk/service/PriorityWeightService.java - User service
src/main/java/com/example/helpdesk/service/UserService.java - Authentication and roles
src/main/java/com/example/helpdesk/config/SecurityConfig.java
Persistence
- Ticket repositories
src/main/java/com/example/helpdesk/repository/TicketRepository.java - Ticket records
src/main/java/com/example/helpdesk/domain/Ticket.java - User records
src/main/java/com/example/helpdesk/domain/User.java - Relational database
src/main/resources/application.properties
Other components
- End user
Connections 31
- End user → App and routes: uses
- App and routes → Login page: shows
- App and routes → Create ticket: routes
- App and routes → Ticket list: routes
- App and routes → Ticket detail: routes
- App and routes → Dashboard: routes
- App and routes → Priority settings: routes
- App and routes → User administration: routes
- App and routes → Support work queue: routes
- Create ticket → API client: submits and uploads
- Ticket list → API client: requests tickets
- Ticket detail → API client: reads and updates
- Dashboard → API client: requests statistics
- Priority settings → API client: manages settings
- User administration → API client: manages users
- Support work queue → API client: requests assignments
- API client → Ticket API: calls ticket routes
- API client → Admin endpoints: calls admin routes
- API client → Dashboard endpoint: requests dashboard
- API client → Priority endpoint: requests priority
- API client → User endpoint: requests users
- Ticket API → Ticket service: delegates ticket work
- Ticket service → Ticket repositories: persists ticket data
- Ticket repositories → Ticket records: maps records
- Ticket repositories → Relational database: reads and writes
- Dashboard endpoint → Ticket repositories: summarizes tickets
- Priority endpoint → Priority services: manages weights
- User endpoint → User service: manages accounts
- User service → User records: uses user records
- Authentication and roles → User records: authenticates users
- User records → Relational database: persists users