How ritsuetc/-it-helpdesk-self-service-portal works
IT Helpdesk & Self-Service Portal: employees search self-service guidance, create and track support tickets, and IT staff resolve and report on work while managing knowledge and inventory. The React portal calls an Express API, whose route modules implement the domain operations and query PostgreSQL/Supabase. Authentication and role checks protect the workflows; ticket activity is auditable. The README documents additional capabilities such as SLA indicators, auto-assignment, notifications, ratings, and inventory operations; some source excerpts were partial, so links are shown only where supported by sampled code or documentation.
Main entry points: db.js Database Client · server.js Express API · main.jsx Portal Shell · api.js API Client
Components 24
User Portal
- Portal Shell
frontend/src/main.jsx - API Client
frontend/src/api.js - Ticketing
frontend/src/tickets.jsx - Knowledge Base
frontend/src/knowledge.jsx - Self-Service
frontend/src/troubleshooting.jsx - Inventory
frontend/src/inventory.jsx - Dashboard
frontend/src/dashboard.jsx - Reports
frontend/src/report.jsx
API and Access
- Express API
backend/server.js - Authentication
backend/routes/auth.js - Token Verification
backend/middleware/verifyToken.js - Role Authorization
backend/middleware/roleMiddleware.js
Helpdesk Workflows
- Ticket Operations
backend/routes/ticket.js - Knowledge Operations
backend/routes/knowledge.js - Troubleshooting
backend/routes/troubleshooting.js - Inventory Operations
backend/routes/inventory.js - Administration
backend/routes/admin.js - Notifications
backend/routes/notifications.js - Audit Trail
backend/routes/audit.js - Audit Writer
backend/utils/audit.js
Persistence
- Database Client
backend/db.js - Helpdesk Database
supabase/schemas/public/schema.sql
Other components
- Employee
- Technician / Admin
Connections 38
- Employee → Portal Shell: uses portal
- Technician / Admin → Portal Shell: uses portal
- Portal Shell → API Client: requests data
- Portal Shell → Dashboard: renders
- Portal Shell → Knowledge Base: renders
- Portal Shell → Self-Service: renders
- Portal Shell → Ticketing: opens tickets
- Portal Shell → Reports: opens reports
- Portal Shell → Inventory: opens inventory
- Ticketing → API Client: loads and updates
- Knowledge Base → API Client: loads articles
- Inventory → API Client: loads and updates
- Dashboard → API Client: requests summaries
- Reports → API Client: requests reports
- API Client → Express API: sends HTTP requests
- Express API → Authentication: mounts auth
- Express API → Ticket Operations: mounts tickets
- Express API → Knowledge Operations: mounts knowledge
- Express API → Troubleshooting: mounts troubleshooting
- Express API → Inventory Operations: mounts inventory
- Express API → Administration: mounts administration
- Express API → Notifications: mounts notifications
- Express API → Audit Trail: mounts audit
- Ticket Operations → Token Verification: verifies protected requests
- Ticket Operations → Role Authorization: checks permitted roles
- Inventory Operations → Token Verification: verifies protected requests
- Authentication → Database Client: queries accounts
- Token Verification → Database Client: logs invalid tokens
- Ticket Operations → Database Client: reads and writes tickets
- Ticket Operations → Audit Writer: records activity
- Audit Trail → Database Client: reads audit trail
- Audit Writer → Database Client: writes audit events
- Knowledge Operations → Database Client: queries articles
- Troubleshooting → Database Client: queries solutions
- Inventory Operations → Database Client: reads and writes inventory
- Notifications → Database Client: queries notifications
- Administration → Database Client: queries administration data
- Database Client → Helpdesk Database: queries PostgreSQL