How ke-jo-i/queueease-mobileapp works
QueueEase is an Expo/React Native registrar queue prototype. Students sign in, choose a service, receive a window-routed ticket, and view or cancel eligible tickets; staff sign in, assign a window, call and resolve tickets, and review history. Queue and session state are in-memory, while appearance preference is persisted locally. The graph retains the documented live-status and portal capabilities, but their exact wiring is not shown in the excerpts. Relationships are cited only where visible in source or README documentation.
Main entry points: queue.tsx Queue state · session.tsx Session state · profile.tsx Staff profile and assignment · index.tsx Portal choice
Components 25
Student queue
- Student home
src/app/(student)/home.tsx - Service confirmation
src/app/confirm-service.tsx - Service-window mapping
src/constants/service-windows.ts - Tickets and history
src/app/(student)/tickets.tsx - Ticket alerts
src/app/(student)/alerts.tsx - Live status view
src/app/live-status.tsx - Student profile
src/app/(student)/profile.tsx
Staff operations
- Queue operations
src/app/staff/dashboard.tsx - Queue list
src/app/staff/queue-list.tsx - Staff history
src/app/staff/history.tsx - Staff profile and assignment
src/app/staff/profile.tsx
Application state
- Session state
src/contexts/session.tsx - Queue state
src/contexts/queue.tsx - Appearance preference
src/contexts/appearance.tsx
Portal and routing
- Portal choice
src/app/index.tsx - Student login
src/app/login.tsx - Staff login
src/app/staff/login.tsx - Explore content
src/app/explore.tsx
Appearance and UI
- App palette
src/constants/app-colors.ts - Theme hooks
src/hooks/use-app-theme.ts - Base theme
src/constants/theme.ts - Themed components
src/components/themed-text.tsx - Dark-mode control
src/components/dark-mode-toggle.tsx
Other components
- Student
- Registrar staff
Connections 31
- Student → Portal choice: chooses portal
README.md - Registrar staff → Portal choice: chooses portal
README.md - Portal choice → Student login: opens student
- Portal choice → Staff login: opens staff
- Student login → Session state: signs in
src/app/login.tsx - Staff login → Session state: signs in
src/app/staff/login.tsx - Student → Student home: views services
README.md - Student home → Service confirmation: selects service
README.md - Service confirmation → Service-window mapping: gets window
src/app/confirm-service.tsx - Service confirmation → Queue state: books ticket
src/app/confirm-service.tsx - Student → Tickets and history: views ticket
README.md - Tickets and history → Queue state: reads or cancels
src/app/(student)/tickets.tsx - Ticket alerts → Queue state: reads alerts
src/app/(student)/alerts.tsx - Student → Live status view: checks status
README.md - Student profile → Session state: reads session
src/app/(student)/profile.tsx - Registrar staff → Staff profile and assignment: sets assignment
README.md - Staff profile and assignment → Session state: reads session
src/app/staff/profile.tsx - Staff profile and assignment → Queue state: sets window
src/app/staff/profile.tsx - Registrar staff → Queue operations: works queue
README.md - Queue operations → Queue state: calls and resolves
src/app/staff/dashboard.tsx - Queue list → Queue state: reads queue
src/app/staff/queue-list.tsx - Staff history → Queue state: reads history
src/app/staff/history.tsx - Queue state → Session state: scopes tickets
src/contexts/queue.tsx - Student profile → Dark-mode control: offers setting
src/app/(student)/profile.tsx - Staff profile and assignment → Dark-mode control: offers setting
src/app/staff/profile.tsx - Dark-mode control → Appearance preference: changes preference
src/components/dark-mode-toggle.tsx - Appearance preference → App palette: selects palette
src/hooks/use-app-theme.ts - Theme hooks → Appearance preference: reads appearance
src/hooks/use-app-theme.ts - Theme hooks → App palette: selects colors
src/hooks/use-app-theme.ts - Themed components → Base theme: uses theme
src/components/themed-text.tsx - Explore content → Themed components: renders content
src/app/explore.tsx