Service Portal is an attempt to replicate a barebones ticketing/service management platform using a modern web framework... while also masquerading as a Souls-like blacksmith service: complete with a customer portal and an agent fulfillment workspace.
- end-to-end typesafety with React TypeScript + Convex backend
- reactivity applies to all database queries (real-time messaging, task changes, etc.)
- authentication with Social SSOs (Discord, Google, TikTok)
- minimal, responsive design
Deployed production link: service-portal-tau.vercel.app
Service Portal was built with lots of ♥ and:
- clone this repo
npm install- set up a Convex account and follow their Clerk guide to set up auth
npm run dev+npx convex dev
- Customer
- sign in/sign up (Clerk auth)
- open a service request (repair)
- check request status and chat with agents using the My Requests page
- Agent
- sign in and visit the Admin Dashboard
- check for new tasks, assign tasks to yourself, review open tasks
- communicate with the customers using chat
- fulfill tasks and update state to complete in the task details
- cancel tasks as needed
- dry up components for reusability across roles
- consumable items for agents
- ability check system for completing tasks (a la Baldur's Gate 3)
- replace Convex with a Go backend (API server + postgres)
- swap to htmx + templ as a replacement to React frontend
- service catalog
- admin dashboard
- role-based access control system



