How kamleshsingh2097/the-exceptions2 works
This is an online event ticket-booking platform. Users authenticate through the Streamlit frontend, browse upcoming events, select seats, and submit bookings to FastAPI. The backend validates requests, locks seat rows, creates orders and tickets, and persists state in PostgreSQL. Separate workflows support event and venue setup, refunds, gate validation, and analytics. Ticket email/PDF generation is a frontend-side post-booking extension. Some backend orchestration is sampled only partially, so uncertain integrations are not connected.
Components 22
Frontend Workspaces
- Login/Register UI
frontend/Login_Register.py - Customer UI
frontend/pages/customer.py - Organizer UI
frontend/pages/Event_Organizer.py - Entry UI
frontend/pages/Entry_Manager.py - Support UI
frontend/pages/Support_Executive.py
API & Security
- FastAPI Routes
backend/main.py - Auth & RBAC
backend/auth.py - Request Schemas
backend/schemas.py
Ticketing Domain
- Event & Inventory
backend/crud.py - Booking Transaction
backend/crud.py - Refund Processing
backend/crud.py - Ticket Validation
backend/crud.py - Analytics Queries
backend/crud.py
Persistence
- Domain Models
backend/models.py - Database Sessions
backend/database.py
Ticket Delivery
- Email Simulation
frontend/utils/email_sim.py - PDF Ticket
frontend/utils/pdf_gen.py
Other components
- Customer
- Organizer
- Entry Manager
- Support Executive
- PostgreSQL
Connections 30
- Customer → Login/Register UI: uses
- Organizer → Login/Register UI: uses
- Entry Manager → Login/Register UI: uses
- Support Executive → Login/Register UI: uses
- Customer → Customer UI: uses
- Organizer → Organizer UI: uses
- Entry Manager → Entry UI: uses
- Support Executive → Support UI: uses
- Login/Register UI → FastAPI Routes: authenticates
- Customer UI → FastAPI Routes: calls API
- Organizer UI → FastAPI Routes: calls API
- Entry UI → FastAPI Routes: calls API
- Support UI → FastAPI Routes: calls API
- FastAPI Routes → Auth & RBAC: verifies tokens
- FastAPI Routes → Request Schemas: validates input
- FastAPI Routes → Database Sessions: gets sessions
- FastAPI Routes → Event & Inventory: creates events
- FastAPI Routes → Booking Transaction: books seats
- FastAPI Routes → Refund Processing: processes refunds
- FastAPI Routes → Ticket Validation: validates tickets
- FastAPI Routes → Analytics Queries: serves metrics
- Event & Inventory → Domain Models: writes inventory
- Booking Transaction → Domain Models: locks and writes
- Refund Processing → Domain Models: restores seats
- Ticket Validation → Domain Models: marks used
- Analytics Queries → Domain Models: queries totals
- FastAPI Routes → Domain Models: initializes tables
- Database Sessions → PostgreSQL: connects
- Customer UI → Email Simulation: sends confirmation
- Customer UI → PDF Ticket: generates ticket