# sivaprasadgalla/event-booking-management architecture

> Architecture diagram of the GitHub repository sivaprasadgalla/event-booking-management, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sivaprasadgalla/event-booking-management
- Repository: https://github.com/sivaprasadgalla/event-booking-management

## Overview

CelebrateHub is a multi-role celebration-event marketplace. Customers discover and configure events, reserve slots, combine bookings in a cart, pay, and manage confirmed bookings; organisers create and manage events and check in attendees; administrators moderate events and manage platform operations. The graph shows the main documented workflows and sampled API responsibilities. Several UI-to-API connections and unsampled subsystems are based on README capabilities and the file tree rather than inspected implementation details.

Main entry points: [`lib/db.ts`](https://github.com/sivaprasadgalla/event-booking-management/blob/main/lib/db.ts) (Database connection), [`app/api/payment/verify/route.ts`](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/payment/verify/route.ts) (Payment verification), [`app/checkout/page.tsx`](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/checkout/page.tsx) (Checkout), [`app/events/page.tsx`](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/events/page.tsx) (Event discovery)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_marketplace["Marketplace"]
  node_market["Event discovery<br/>[page.tsx]"]
  node_eventdetail["Event configurator<br/>[page.tsx]"]
  node_eventapi["Event catalog API<br/>[route.ts]"]
  node_categories["Categories API<br/>[route.ts]"]
end

subgraph group_reservation["Reservation and payment"]
  node_cart["Cart experience<br/>[page.tsx]"]
  node_cartapi["Cart API<br/>[route.ts]"]
  node_holds["Slot holds<br/>[route.ts]"]
  node_checkout["Checkout<br/>[page.tsx]"]
  node_createorder["Order creation API<br/>[route.ts]"]
  node_razorpay["Razorpay"]
  node_verify["Payment verification<br/>[route.ts]"]
  node_confirmation["Booking confirmation<br/>[page.tsx]"]
  node_customerbookings["Customer bookings<br/>[page.tsx]"]
  node_customerapi["Customer booking APIs"]
end

subgraph group_organiser["Organiser operations"]
  node_eventmanagement["Event management<br/>[page.tsx]"]
  node_organiserapi["Organiser event APIs<br/>[route.ts]"]
  node_checkin["Attendee check-in<br/>[route.ts]"]
  node_organiseranalytics["Organiser analytics<br/>[route.ts]"]
end

subgraph group_admin["Administration"]
  node_adminui["Admin command center<br/>[page.tsx]"]
  node_adminapi["Admin operations API"]
end

subgraph group_platform["Platform services"]
  node_auth["Authentication API"]
  node_models["Domain models<br/>[index.ts]"]
  node_database[("MongoDB")]
  node_dbconnection["Database connection<br/>[db.ts]"]
  node_media["Media upload API<br/>[route.ts]"]
  node_cloudinary["Cloudinary"]
end

node_guest(("Customer / guest"))
node_organiser(("Organiser"))
node_admin(("Administrator"))

node_guest -->|"browses"| node_market
node_market -->|"searches events"| node_eventapi
node_market -->|"loads categories"| node_categories
node_guest -->|"configures booking"| node_eventdetail
node_eventdetail -->|"loads event"| node_eventapi
node_eventdetail -->|"reserves slot"| node_holds
node_guest -->|"reviews selections"| node_cart
node_cart -->|"syncs cart"| node_cartapi
node_cart -->|"proceeds to"| node_checkout
node_checkout -->|"requests order"| node_createorder
node_createorder -->|"creates payment"| node_razorpay
node_razorpay -->|"returns payment result"| node_checkout
node_checkout -->|"submits payment proof"| node_verify
node_verify -->|"verifies signature"| node_razorpay
node_verify -->|"confirms booking"| node_confirmation
node_guest -->|"manages bookings"| node_customerbookings
node_customerbookings -->|"loads or cancels"| node_customerapi
node_organiser -->|"creates events"| node_eventmanagement
node_eventmanagement -->|"manages events"| node_organiserapi
node_organiser -->|"checks in attendees"| node_checkin
node_organiser -->|"views performance"| node_organiseranalytics
node_admin -->|"manages platform"| node_adminui
node_adminui -->|"requests operations"| node_adminapi
node_guest -->|"authenticates"| node_auth
node_organiser -->|"authenticates"| node_auth
node_admin -->|"authenticates"| node_auth
node_eventapi -->|"connects"| node_dbconnection
node_categories -->|"connects"| node_dbconnection
node_cartapi -->|"connects"| node_dbconnection
node_holds -->|"connects"| node_dbconnection
node_createorder -->|"connects"| node_dbconnection
node_verify -->|"connects"| node_dbconnection
node_organiserapi -->|"connects"| node_dbconnection
node_organiseranalytics -->|"connects"| node_dbconnection
node_adminapi -->|"connects"| node_dbconnection
node_dbconnection -->|"connects"| node_database
node_models -->|"defines persisted data"| node_database
node_media -->|"uploads images"| node_cloudinary

click node_market "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/events/page.tsx"
click node_eventdetail "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/events/%5Bslug%5D/page.tsx"
click node_eventapi "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/events/route.ts"
click node_categories "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/categories/route.ts"
click node_cart "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/cart/page.tsx"
click node_cartapi "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/cart/route.ts"
click node_holds "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/cart/hold/route.ts"
click node_checkout "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/checkout/page.tsx"
click node_createorder "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/payment/create-order/route.ts"
click node_verify "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/payment/verify/route.ts"
click node_confirmation "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/booking-confirmation/%5BorderId%5D/page.tsx"
click node_customerbookings "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/customer/bookings/page.tsx"
click node_customerapi "https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/customer/bookings"
click node_eventmanagement "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/organiser/events/page.tsx"
click node_organiserapi "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/events/route.ts"
click node_checkin "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/bookings/%5Bid%5D/check-in/route.ts"
click node_organiseranalytics "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/dashboard/route.ts"
click node_adminui "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/admin/dashboard/page.tsx"
click node_adminapi "https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/admin"
click node_auth "https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/auth"
click node_models "https://github.com/sivaprasadgalla/event-booking-management/blob/main/models/index.ts"
click node_dbconnection "https://github.com/sivaprasadgalla/event-booking-management/blob/main/lib/db.ts"
click node_media "https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/upload/route.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_market,node_eventdetail,node_eventapi,node_categories toneBlue
class node_cart,node_cartapi,node_holds,node_checkout,node_createorder,node_razorpay,node_verify,node_confirmation,node_customerbookings,node_customerapi toneAmber
class node_eventmanagement,node_organiserapi,node_checkin,node_organiseranalytics toneMint
class node_adminui,node_adminapi toneRose
class node_auth,node_models,node_database,node_dbconnection,node_media,node_cloudinary,node_guest,node_organiser,node_admin toneIndigo
```

## Components

### Marketplace

- [Event discovery](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/events/page.tsx): `app/events/page.tsx`
- [Event configurator](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/events/%5Bslug%5D/page.tsx): `app/events/[slug]/page.tsx`
- [Event catalog API](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/events/route.ts): `app/api/events/route.ts`
- [Categories API](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/categories/route.ts): `app/api/categories/route.ts`

### Reservation and payment

- [Cart experience](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/cart/page.tsx): `app/cart/page.tsx`
- [Cart API](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/cart/route.ts): `app/api/cart/route.ts`
- [Slot holds](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/cart/hold/route.ts): `app/api/cart/hold/route.ts`
- [Checkout](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/checkout/page.tsx): `app/checkout/page.tsx`
- [Order creation API](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/payment/create-order/route.ts): `app/api/payment/create-order/route.ts`
- **Razorpay**
- [Payment verification](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/payment/verify/route.ts): `app/api/payment/verify/route.ts`
- [Booking confirmation](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/booking-confirmation/%5BorderId%5D/page.tsx): `app/booking-confirmation/[orderId]/page.tsx`
- [Customer bookings](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/customer/bookings/page.tsx): `app/customer/bookings/page.tsx`
- [Customer booking APIs](https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/customer/bookings): `app/api/customer/bookings`

### Organiser operations

- [Event management](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/organiser/events/page.tsx): `app/organiser/events/page.tsx`
- [Organiser event APIs](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/events/route.ts): `app/api/organiser/events/route.ts`
- [Attendee check-in](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/bookings/%5Bid%5D/check-in/route.ts): `app/api/organiser/bookings/[id]/check-in/route.ts`
- [Organiser analytics](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/organiser/dashboard/route.ts): `app/api/organiser/dashboard/route.ts`

### Administration

- [Admin command center](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/admin/dashboard/page.tsx): `app/admin/dashboard/page.tsx`
- [Admin operations API](https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/admin): `app/api/admin`

### Platform services

- [Authentication API](https://github.com/sivaprasadgalla/event-booking-management/tree/main/app/api/auth): `app/api/auth`
- [Domain models](https://github.com/sivaprasadgalla/event-booking-management/blob/main/models/index.ts): `models/index.ts`
- **MongoDB**
- [Database connection](https://github.com/sivaprasadgalla/event-booking-management/blob/main/lib/db.ts): `lib/db.ts`
- [Media upload API](https://github.com/sivaprasadgalla/event-booking-management/blob/main/app/api/upload/route.ts): `app/api/upload/route.ts`
- **Cloudinary**

### Other components

- **Customer / guest**
- **Organiser**
- **Administrator**

## Connections

- Customer / guest → Event discovery: browses
- Event discovery → Event catalog API: searches events
- Event discovery → Categories API: loads categories
- Customer / guest → Event configurator: configures booking
- Event configurator → Event catalog API: loads event
- Event configurator → Slot holds: reserves slot
- Customer / guest → Cart experience: reviews selections
- Cart experience → Cart API: syncs cart
- Cart experience → Checkout: proceeds to
- Checkout → Order creation API: requests order
- Order creation API → Razorpay: creates payment
- Razorpay → Checkout: returns payment result
- Checkout → Payment verification: submits payment proof
- Payment verification → Razorpay: verifies signature
- Payment verification → Booking confirmation: confirms booking
- Customer / guest → Customer bookings: manages bookings
- Customer bookings → Customer booking APIs: loads or cancels
- Organiser → Event management: creates events
- Event management → Organiser event APIs: manages events
- Organiser → Attendee check-in: checks in attendees
- Organiser → Organiser analytics: views performance
- Administrator → Admin command center: manages platform
- Admin command center → Admin operations API: requests operations
- Customer / guest → Authentication API: authenticates
- Organiser → Authentication API: authenticates
- Administrator → Authentication API: authenticates
- Event catalog API → Database connection: connects
- Categories API → Database connection: connects
- Cart API → Database connection: connects
- Slot holds → Database connection: connects
- Order creation API → Database connection: connects
- Payment verification → Database connection: connects
- Organiser event APIs → Database connection: connects
- Organiser analytics → Database connection: connects
- Admin operations API → Database connection: connects
- Database connection → MongoDB: connects
- Domain models → MongoDB: defines persisted data
- Media upload API → Cloudinary: uploads images
