SupportFlow is a compact service-desk system built to demonstrate Angular's enterprise strengths in a realistic product: typed reactive forms, RxJS data pipelines, Signals for synchronous UI state, DI, route guards, HTTP interceptors, lazy features, role-based access and realtime updates.
The backend is a NestJS REST/WebSocket API backed by PostgreSQL through Prisma. The repository also includes Docker Compose, Nginx, unit tests, Playwright smoke tests and a GitHub Actions pipeline.
- Copy
.env.exampleto.env. - Start PostgreSQL with
docker compose up -d postgres. - Install dependencies with
npm install. - Generate Prisma Client and apply the schema:
npm run db:generate && npm run db:push. - Seed demo data:
npm run db:seed. - Start both apps:
npm run dev.
Open http://localhost:4200. Demo accounts are listed on the sign-in screen.
For an all-in-one production-style run, use docker compose up --build.
All demo users use the password Support123!.
agent@supportflow.dev— tickets, comments, customers and personal notifications.manager@supportflow.dev— agent capabilities plus team workload, audit and comment moderation.admin@supportflow.dev— full access, including user roles, account status, settings and ticket deletion.
apps/web— Angular applicationapps/api— NestJS API and WebSocket gatewaye2e— Playwright journeys
npm run lint
npm run typecheck
npm test
npm run build
npm run e2e