How stefanzmija/ticketing-system-ipnks works
FINKI student-services ticketing app: students register, submit and track requests; staff triage, assign, reply and update them; admins manage roles. Angular route components call ticket and identity services, which use Supabase for Auth, Postgres and Realtime. Database SQL defines schema and access rules. The README documents filtering, live updates and keyboard shortcuts; some feature implementations and SQL were not excerpted, so those links rely on README documentation rather than assumed calls.
Main entry points: app.routes.ts App routes · auth.service.ts Authentication · ticket-list.ts Ticket dashboard · ticket-detail.ts Ticket conversation
Components 20
Angular experience
- App routes
src/app/app.routes.ts - Home and contact
src/app/features/home
Identity and access
- Login and register
src/app/features/auth - Auth layout
src/app/features/auth/auth-layout/auth-layout.ts - Authentication
src/app/core/auth.service.ts - Route guards
src/app/core/guards/auth.guard.ts - Profile service
src/app/core/profiles.service.ts - User roles
src/app/features/admin/users/users.ts
Ticket workflows
- Ticket dashboard
src/app/features/tickets/ticket-list/ticket-list.ts - Ticket creation
src/app/features/tickets/ticket-create - Ticket conversation
src/app/features/tickets/ticket-detail/ticket-detail.ts - Ticket service
src/app/features/tickets/tickets.service.ts - Domain models
src/app/core/models
Supabase backend
- Supabase client
src/app/core/supabase.client.ts - Ticket database
supabase/01_schema.sql - Access and realtime rules
supabase/02_rules_and_realtime.sql
Other components
- Student
- Staff
- Admin
- Supabase
Connections 28
- Student → App routes: uses
README.md - Staff → App routes: uses
README.md - Admin → App routes: uses
README.md - App routes → Login and register: routes to
src/app/app.routes.ts - App routes → Ticket dashboard: routes to
src/app/app.routes.ts - App routes → Ticket creation: routes to
src/app/app.routes.ts - App routes → Ticket conversation: routes to
src/app/app.routes.ts - App routes → User roles: guards route
src/app/app.routes.ts - Login and register → Auth layout: uses
src/app/features/auth/login/login.ts - Login and register → Authentication: calls
src/app/features/auth/login/login.ts - Authentication → Supabase client: uses
src/app/core/auth.service.ts - Authentication → Profile service: loads profiles
src/app/core/auth.service.ts - Route guards → Authentication: checks session
src/app/core/guards/auth.guard.ts - User roles → Profile service: manages
src/app/features/admin/users/users.ts - Ticket dashboard → Ticket service: loads and watches
src/app/features/tickets/ticket-list/ticket-list.ts - Ticket creation → Ticket service: creates tickets
src/app/features/tickets/ticket-create/ticket-create.ts - Ticket conversation → Ticket service: reads and updates
src/app/features/tickets/ticket-detail/ticket-detail.ts - Ticket dashboard → Domain models: uses
src/app/features/tickets/ticket-list/ticket-list.ts - Ticket conversation → Domain models: uses
src/app/features/tickets/ticket-detail/ticket-detail.ts - Ticket service → Supabase client: queries through
src/app/features/tickets/tickets.service.ts - Supabase client → Supabase: configures
README.md - Supabase → Ticket database: stores ticket data
README.md - Supabase → Access and realtime rules: enforces policies and realtime
README.md - Home and contact → Authentication: reads identity
src/app/features/home/home.ts - Student → Ticket creation: submits request
README.md - Staff → Ticket dashboard: triages requests
README.md - Staff → Ticket conversation: replies and updates
README.md - Admin → User roles: manages roles
README.md