How chanya-grace-2546/toktick_3456 works
TokTickIT is a role-based IT ticketing application. Users authenticate, then requesters create and track tickets with attachments and comments; IT staff work a shared queue and manage ticket ownership, priority, status, and notes; administrators manage accounts. The React client routes role-specific pages through its API module to the Express application, which persists application and session data through Prisma/PostgreSQL. The README establishes the major capabilities; sampled source confirms routing, auth state, several API calls, and server-side ticket/auth behavior, but not every route-to-handler detail.
Main entry points: api.ts API client · app.ts HTTP routes · App.tsx Route application · prisma.ts Prisma access
Components 23
Web client
- Route application
client/src/App.tsx - Auth context
client/src/context/AuthContext.tsx - Role guards
client/src/components/AuthGuard.tsx - Login and password
client/src/pages/Login.tsx - Requester tickets
client/src/pages/MyTickets.tsx - Ticket creation
client/src/pages/CreateTicket.tsx - Requester detail
client/src/pages/TicketDetail.tsx - Staff queue
client/src/pages/StaffTicketQueue.tsx - Staff ticket detail
client/src/pages/StaffTicketDetail.tsx - User management
client/src/pages/UserManagement.tsx - API client
client/src/api.ts
Application API
- HTTP routes
server/src/app.ts
Identity and access
- Session and authorization
server/src/auth.ts - Account administration
server/src/adminUsers.ts
Ticket operations
- Ticket validation
server/src/validateCreateTicket.ts - Ticket numbering
server/src/ticketNumber.ts
Persistence
- Prisma access
server/src/prisma.ts - Domain schema
server/prisma/schema.prisma
Other components
- Requester
- IT staff
- Administrator
- HTTP client
- PostgreSQL
Connections 24
- Requester → Route application: uses requester pages
- IT staff → Route application: uses staff pages
- Administrator → Route application: uses admin pages
- Route application → Role guards: guards routes
- Route application → Auth context: provides auth state
- Auth context → API client: requests session
- Login and password → Auth context: signs in
- Requester tickets → API client: lists tickets
- Ticket creation → API client: creates ticket
- Requester detail → API client: manages ticket
- Staff queue → API client: loads queue
- Staff ticket detail → API client: updates ticket
- User management → API client: manages accounts
- API client → HTTP client: sends requests
- HTTP client → HTTP routes: calls API
- HTTP routes → Session and authorization: checks access
- HTTP routes → Ticket validation: validates ticket
- HTTP routes → Ticket numbering: generates number
- HTTP routes → Account administration: manages users
- HTTP routes → Prisma access: reads and writes
- Session and authorization → Prisma access: checks sessions
- Ticket numbering → Prisma access: creates ticket
- Prisma access → PostgreSQL: queries data
- Domain schema → Prisma access: defines data model