How chandan-me/event-booking-system works
EventPass is an event discovery, booking, ticketing, and live-admission platform. Attendees browse events, authenticate, book tickets, complete payment, and receive digital passes; organizers manage events and capacity and use ticket check-in and attendee-roster tools. The React portal sends API requests through a gateway to separate authentication, event, booking, and notification services. The README documents the service topology and major capabilities; unsampled implementation details are represented only where the tree supports a component, with no inferred internal call chains.
Main entry points: booking_service.py Booking and payment · App.jsx React portal · main.py API gateway · client.js API client
Components 24
Web portal
- React portal
frontend/src/App.jsx - Session context
frontend/src/context/AuthContext.jsx - Event browsing
frontend/src/pages/EventsPage.jsx - Event details
frontend/src/pages/EventDetailPage.jsx - Organizer operations
frontend/src/pages/OrganizerDashboardPage.jsx - Booking wallet
frontend/src/pages/UserDashboardPage.jsx - API client
frontend/src/api/client.js
API ingress
- API gateway
backend/services/api-gateway/app/main.py - Request proxy
backend/services/api-gateway/app/core/proxy.py
Event and booking
- Event catalog
backend/services/event-service/app/services/event_service.py - Booking and payment
backend/services/booking-service/app/services/booking_service.py - Digital tickets
backend/services/booking-service/app/services/ticket_service.py - Event client
backend/services/booking-service/app/clients/event_client.py - Booking database
backend/services/booking-service/app/repositories/booking_repository.py - Ticket database
backend/services/booking-service/app/repositories/ticket_repository.py - Event database
backend/services/event-service/app/repositories/event_repository.py
Identity and messaging
- Authentication
backend/services/auth-service/app/services/auth_service.py - Email notifications
backend/services/notification-service/app/main.py - Auth database
backend/services/auth-service/app/db/session.py
Other components
- Attendee
- Organizer
- RabbitMQ
- Razorpay
- MySQL
Connections 31
- Attendee → React portal: uses
README.md - Organizer → React portal: uses
README.md - React portal → Session context: provides session
frontend/src/App.jsx - React portal → Event browsing: routes to
frontend/src/App.jsx - React portal → Event details: routes to
frontend/src/App.jsx - React portal → Organizer operations: routes to
frontend/src/App.jsx - React portal → Booking wallet: routes to
frontend/src/App.jsx - Event details → API client: requests via
- Organizer operations → API client: requests via
- Booking wallet → API client: requests via
- Session context → API client: manages tokens
frontend/src/context/AuthContext.jsx - API client → API gateway: sends HTTP
README.md - API gateway → Request proxy: dispatches requests
backend/services/api-gateway/app/main.py - API gateway → Authentication: routes HTTP
README.md - API gateway → Event catalog: routes HTTP
README.md - API gateway → Booking and payment: routes HTTP
- API gateway → Email notifications: routes HTTP
README.md - Authentication → Auth database: stores identity data
- Event catalog → Event database: reads and writes
backend/services/event-service/app/services/event_service.py - Booking and payment → Event client: requests event data
backend/services/booking-service/app/services/booking_service.py - Booking and payment → Booking database: persists bookings
backend/services/booking-service/app/services/booking_service.py - Booking and payment → Ticket database: creates tickets
backend/services/booking-service/app/services/booking_service.py - Booking and payment → Digital tickets: issues passes
backend/services/booking-service/app/services/booking_service.py - Booking and payment → Razorpay: processes payment
README.md - Booking and payment → RabbitMQ: publishes events
README.md - RabbitMQ → Email notifications: delivers events
README.md - Email notifications → MySQL: stores notifications
- Event database → MySQL: uses
README.md - Booking database → MySQL: uses
README.md - Auth database → MySQL: uses
README.md - Digital tickets → Organizer operations: supports check-in
README.md