Skip to content

jeffmancilla/service-portal

Repository files navigation

Service Portal (working title)

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

Screenshots

portal-hero-card auth-clerk-menu task-detail-chat form-modal-item

Stack

Service Portal was built with lots of ♥ and:

Want to deploy locally?

  1. clone this repo
  2. npm install
  3. set up a Convex account and follow their Clerk guide to set up auth
  4. npm run dev + npx convex dev

User flow

  • Customer
    1. sign in/sign up (Clerk auth)
    2. open a service request (repair)
    3. check request status and chat with agents using the My Requests page
  • Agent
    1. sign in and visit the Admin Dashboard
    2. check for new tasks, assign tasks to yourself, review open tasks
    3. communicate with the customers using chat
    4. fulfill tasks and update state to complete in the task details
    5. cancel tasks as needed

Future features

  • 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

About

A service portal and task management tool, masquerading as a blacksmithing service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published