DeskFlow is a fullstack helpdesk system for processing support tickets with roles, comments, attachments, SLA tracking, dashboards and admin tools.
React, TypeScript, Vite, React Router, TanStack Query, Zod, Tailwind CSS, lucide-react, Express, Prisma, PostgreSQL, JWT, Multer and Vitest.
- USER, SUPPORT and ADMIN roles.
- Ticket CRUD with search, filters, sorting and permission-aware deletion.
- Paginated ticket queues.
- Public comments and staff-only internal notes.
- Comment deletion with owner/staff permissions.
- SLA due dates and badges: On track, At risk, Overdue, Resolved.
- Support dashboard with open, urgent, overdue and average response/resolution metrics.
- Admin users, categories and audit log.
- Local file uploads with 5MB and MIME type validation.
- Prisma seed data with realistic demo tickets.
- GitHub Actions CI with PostgreSQL 16, Prisma migrations, typecheck and tests.
user@deskflow.dev / demo1234 / USER
support@deskflow.dev / demo1234 / SUPPORT
admin@deskflow.dev / demo1234 / ADMIN
cp .env.example .env
npm install
docker compose up -d
npm run prisma:migrate
npm run prisma:seed
npm run devFrontend: http://localhost:5173
API: http://localhost:4000
npm run prisma:generate
npm run prisma:migrate
npm run prisma:seed
npm run prisma:deploynpm run typecheck
npm test
npm run build
npm run checkReal-time updates, email notifications, external object storage, richer pagination and Playwright e2e coverage are intentionally left outside the MVP.







