How vanhhoang2810/fpt-eventseller works
Ticket Rush is an online event-ticketing platform. Customers discover events, join a virtual queue when enabled, select and hold seats, apply promotions, pay, and receive tickets; administrators manage events, venues, users, bookings, reporting, and live chat. The graph captures the documented capabilities and sampled controller/service boundaries. Several subsystems are represented at their existing module directories because their implementation was not sampled; their internal wiring is therefore not inferred.
Main entry points: router.tsx Web app · booking Checkout and payment · booking.controller.ts Booking services · notifications.controller.ts Notifications
Components 24
Customer frontend
- Web app
frontend/src/app/router.tsx - Event discovery
frontend/src/features/events - Seat selection
frontend/src/features/booking - Queue waiting room
frontend/src/features/queue - Checkout and payment
frontend/src/features/booking - Tickets
frontend/src/features/tickets
Ticketing backend
- Event services
backend/src/modules/events/events.controller.ts - Queue services
backend/src/modules/queue/queue.controller.ts - Booking services
backend/src/modules/booking/booking.controller.ts - Payment services
backend/src/modules/payments/payments.controller.ts - Ticket services
backend/src/modules/tickets/tickets.controller.ts
Account and engagement
- Authentication and profiles
backend/src/modules/auth/auth.service.ts - Promotions
backend/src/modules/promo/promo.routes.ts - Favorites
backend/src/modules/events/events.controller.ts - Notifications
backend/src/modules/notifications/notifications.controller.ts - Live chat
backend/src/modules/chat/chat.routes.ts
Administration
- Admin workspace
frontend/src/features/admin - Admin services
backend/src/modules/admin/admin.controller.ts
Other components
- Customer
- MySQL data
- Redis queue state
- VNPay and MoMo
- Socket.IO
backend/src/config/socket.ts - Email delivery
backend/src/modules/email
Connections 33
- Customer → Web app: uses
- Web app → Event discovery: routes to
- Web app → Seat selection: routes to
- Web app → Queue waiting room: routes to
- Web app → Checkout and payment: routes to
- Web app → Tickets: routes to
- Event discovery → Event services: requests events
- Seat selection → Event services: loads seat map
- Seat selection → Booking services: requests seat hold
- Queue waiting room → Queue services: checks queue
- Checkout and payment → Booking services: checks out
- Checkout and payment → Promotions: validates promo
- Checkout and payment → Payment services: starts payment
- Payment services → VNPay and MoMo: creates payment
- Tickets → Ticket services: requests tickets
- Booking services → Queue services: consumes token
- Booking services → MySQL data: reads and writes
- Event services → MySQL data: reads events
- Payment services → MySQL data: reads bookings
- Ticket services → MySQL data: reads tickets
- Queue services → Redis queue state: uses queue state
- Customer → Admin workspace: admin access
- Admin workspace → Admin services: requests administration
- Admin services → MySQL data: reads and writes
- Authentication and profiles → MySQL data: reads and writes users
- Authentication and profiles → VNPay and MoMo: verifies Google identity
- Promotions → MySQL data: reads and writes promos
- Favorites → MySQL data: reads and writes favorites
- Notifications → MySQL data: reads notifications
- Live chat → MySQL data: reads and writes chat
- Live chat → Socket.IO: emits chat events
- Notifications → Socket.IO: delivers live updates
- Notifications → Email delivery: sends email