How edgyulnazaryandev/activity-booking-platform works
This is an activity-booking platform with a React client and NestJS API. The main user journey is browsing activities, selecting a resource and time, creating a booking, then paying through a wallet or IDram; administrators manage bookings and review operational reports. The tree also shows authentication, pricing, resource and staff management, notifications, and real-time infrastructure. Controller excerpts confirm several API-to-service calls, but booking-service internals and most frontend wiring were not sampled, so uncertain connections are omitted.
Main entry points: api.ts API client · prisma.service.ts PostgreSQL data · App.tsx Booking interface · bookings.controller.ts Booking endpoints
Components 27
Web client
- Booking interface
frontend/src/App.tsx - API client
frontend/src/services/api.ts - Activity browsing
frontend/src/pages/ActivitiesPage.tsx - Booking views
frontend/src/pages/BookingsPage.tsx - Account views
frontend/src/pages/LoginPage.tsx
Booking domain
- Booking endpoints
src/bookings/bookings.controller.ts - Booking lifecycle
src/bookings/bookings.service.ts - Activity catalog
src/activities/activities.service.ts - Bookable resources
src/resources/resources.service.ts - Pricing endpoints
src/pricing/pricing.controller.ts - Price calculation
src/pricing/pricing-engine.service.ts
Payments and wallet
- Wallet endpoints
src/wallet/wallet.controller.ts - Wallet transactions
src/wallet/wallet.service.ts - IDram endpoints
src/payments/idram.controller.ts - IDram payments
src/payments/idram.service.ts
Operations
- Admin bookings
src/admin/admin-bookings.controller.ts - Admin operations
src/admin/admin.service.ts - Revenue reports
src/reports/reports.service.ts - Staff management
src/staff/staff.service.ts
Platform services
- Authentication endpoints
src/auth/auth.controller.ts - Identity service
src/auth/auth.service.ts - Notifications
src/notifications/notifications.service.ts - Realtime gateway
src/websocket/websocket.gateway.ts - PostgreSQL data
src/config/prisma.service.ts - Redis service
src/common/redis/redis.service.ts
Other components
- Visitor or admin
- IDram gateway
Connections 24
- Visitor or admin → Booking interface: uses
- Booking interface → Activity browsing: presents
- Booking interface → Booking views: presents
- Booking interface → Account views: presents
- Activity browsing → API client: requests data
- Booking views → API client: requests bookings
- Account views → API client: requests identity
- API client → Booking endpoints: calls API
- API client → Authentication endpoints: calls API
- Booking endpoints → Booking lifecycle: delegates
- Booking endpoints → Activity catalog: delegates
- Booking endpoints → Bookable resources: delegates
- Pricing endpoints → Price calculation: delegates
- Authentication endpoints → Identity service: delegates
- Admin bookings → Booking lifecycle: lists bookings
- Admin bookings → Admin operations: delegates
- Wallet endpoints → Wallet transactions: delegates
- IDram endpoints → IDram payments: delegates
- IDram payments → IDram gateway: initiates payment
- Booking lifecycle → PostgreSQL data: persists bookings
- Price calculation → PostgreSQL data: reads pricing rules
- Identity service → PostgreSQL data: reads and writes users
- Wallet transactions → PostgreSQL data: reads and writes wallet
- Admin operations → PostgreSQL data: reads and updates