# mcaesarar2-boop/event-management architecture

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

- Interactive diagram: https://gitdiagram.com/mcaesarar2-boop/event-management
- Repository: https://github.com/mcaesarar2-boop/event-management

## Overview

EMS is a full-lifecycle event operations platform for promoters and production teams. Users manage an event portfolio, then coordinate each production’s schedule, talent and riders, logistics, budget, procurement, payments, sponsors, risks and reporting. The tree and README establish these product areas; sampled API routes show event, budget, requirements and reporting requests using the local store. Supabase services and storage are also present, but their relationship to the UI and API store is not established by the excerpts.

Main entry points: [`lib/db/store.ts`](https://github.com/mcaesarar2-boop/event-management/blob/main/lib/db/store.ts) (Application data store), [`components/events/EventList.tsx`](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/EventList.tsx) (Event portfolio), [`app/api/events/route.ts`](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/route.ts) (Event API), [`app/api/events/[id]/logistics-request/route.ts`](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/logistics-request/route.ts) (Logistics dispatch API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portfolio["Portfolio &amp; Access"]
  node_dashboard["Global dashboard"]
  node_eventlist["Event portfolio<br/>[EventList.tsx]"]
  node_eventcreate["Create event"]
  node_reportsui["Reports"]
end

subgraph group_production["Event Production"]
  node_eventdetail["Event workspace"]
  node_timeline["Timeline &amp; milestones"]
  node_planning["Planning calendar<br/>[MasterCalendar.tsx]"]
  node_rundown["Show rundown"]
  node_artists["Artists &amp; riders"]
  node_documents["Event documents"]
end

subgraph group_operations["Operations &amp; Logistics"]
  node_logistics["Logistics hub"]
  node_requirementsui["Event requirements"]
  node_risk["Risk management<br/>[EventRisksTab.tsx]"]
end

subgraph group_commercial["Finance &amp; Commercial"]
  node_budgetui["Event budget<br/>[EventBudgetTab.tsx]"]
  node_finance["Finance &amp; payments"]
  node_procurement["Procurement &amp; vendors"]
  node_sponsorship["Sponsorship"]
  node_stakeholders["Stakeholder directories"]
end

subgraph group_platform["Data &amp; Integrations"]
  node_eventapi["Event API<br/>[route.ts]"]
  node_eventdetailapi["Event detail API<br/>[route.ts]"]
  node_requirementsapi["Requirements API<br/>[route.ts]"]
  node_logisticsapi["Logistics dispatch API<br/>[route.ts]"]
  node_budgetapi["Budget API<br/>[route.ts]"]
  node_reportsapi["Reports API<br/>[route.ts]"]
  node_store[("Application data store<br/>[store.ts]")]
  node_supabasesvc["Supabase data services<br/>[services.ts]"]
  node_storage["Sponsor logo storage<br/>[storage.ts]"]
end

node_staff(("Event team"))
node_erp["ERP logistics"]
node_supabase[("Supabase")]
node_supabaseclient[("Supabase Storage")]

node_staff -->|"opens"| node_dashboard
node_staff -->|"manages"| node_eventlist
node_eventlist -->|"creates"| node_eventcreate
node_eventlist -->|"requests"| node_eventapi
node_eventcreate -->|"submits"| node_eventapi
node_eventapi -->|"reads / writes"| node_store
node_eventdetail -->|"loads / updates"| node_eventdetailapi
node_eventdetailapi -->|"reads / writes"| node_store
node_budgetui -->|"requests"| node_budgetapi
node_budgetapi -->|"reads / writes"| node_store
node_requirementsui -->|"requests"| node_requirementsapi
node_requirementsapi -->|"reads / writes"| node_store
node_logisticsapi -->|"dispatches from"| node_store
node_logisticsapi -.->|"dispatch-ready payload"| node_erp
node_reportsui -->|"requests"| node_reportsapi
node_reportsapi -->|"reads"| node_store
node_supabasesvc -->|"queries"| node_supabase
node_storage -->|"uploads / retrieves URL"| node_supabaseclient

click node_dashboard "https://github.com/mcaesarar2-boop/event-management/blob/main/components/dashboard/GlobalDashboard.tsx"
click node_eventlist "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/EventList.tsx"
click node_eventcreate "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/EventCreateModal.tsx"
click node_eventapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/route.ts"
click node_eventdetailapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/route.ts"
click node_eventdetail "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventOverviewTab.tsx"
click node_timeline "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/timeline/ProductionTimelineTable.tsx"
click node_planning "https://github.com/mcaesarar2-boop/event-management/blob/main/components/planning/MasterCalendar.tsx"
click node_rundown "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventRundownTab.tsx"
click node_artists "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventArtistsTab.tsx"
click node_documents "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventDocumentsTab.tsx"
click node_logistics "https://github.com/mcaesarar2-boop/event-management/blob/main/components/logistics/LogisticsHubView.tsx"
click node_requirementsui "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventProcurementTab.tsx"
click node_requirementsapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/requirements/route.ts"
click node_logisticsapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/logistics-request/route.ts"
click node_budgetui "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventBudgetTab.tsx"
click node_budgetapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/budget/route.ts"
click node_finance "https://github.com/mcaesarar2-boop/event-management/blob/main/components/finance/MasterFinanceView.tsx"
click node_procurement "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventProcurementTab.tsx"
click node_sponsorship "https://github.com/mcaesarar2-boop/event-management/blob/main/components/finance/MasterSponsorshipView.tsx"
click node_stakeholders "https://github.com/mcaesarar2-boop/event-management/blob/main/components/stakeholders/MasterVendorsView.tsx"
click node_risk "https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventRisksTab.tsx"
click node_reportsui "https://github.com/mcaesarar2-boop/event-management/blob/main/components/governance/MasterReportsView.tsx"
click node_reportsapi "https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/reports/route.ts"
click node_store "https://github.com/mcaesarar2-boop/event-management/blob/main/lib/db/store.ts"
click node_supabasesvc "https://github.com/mcaesarar2-boop/event-management/blob/main/lib/supabase/services.ts"
click node_storage "https://github.com/mcaesarar2-boop/event-management/blob/main/lib/supabase/storage.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_dashboard,node_eventlist,node_eventcreate,node_reportsui toneBlue
class node_eventdetail,node_timeline,node_planning,node_rundown,node_artists,node_documents,node_supabase,node_supabaseclient toneAmber
class node_logistics,node_requirementsui,node_risk toneMint
class node_budgetui,node_finance,node_procurement,node_sponsorship,node_stakeholders toneRose
class node_eventapi,node_eventdetailapi,node_requirementsapi,node_logisticsapi,node_budgetapi,node_reportsapi,node_store,node_supabasesvc,node_storage,node_staff,node_erp toneIndigo
```

## Components

### Portfolio & Access

- [Global dashboard](https://github.com/mcaesarar2-boop/event-management/blob/main/components/dashboard/GlobalDashboard.tsx): `components/dashboard/GlobalDashboard.tsx`
- [Event portfolio](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/EventList.tsx): `components/events/EventList.tsx`
- [Create event](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/EventCreateModal.tsx): `components/events/EventCreateModal.tsx`
- [Reports](https://github.com/mcaesarar2-boop/event-management/blob/main/components/governance/MasterReportsView.tsx): `components/governance/MasterReportsView.tsx`

### Event Production

- [Event workspace](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventOverviewTab.tsx): `components/events/detail/EventOverviewTab.tsx`
- [Timeline & milestones](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/timeline/ProductionTimelineTable.tsx): `components/events/timeline/ProductionTimelineTable.tsx`
- [Planning calendar](https://github.com/mcaesarar2-boop/event-management/blob/main/components/planning/MasterCalendar.tsx): `components/planning/MasterCalendar.tsx`
- [Show rundown](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventRundownTab.tsx): `components/events/detail/EventRundownTab.tsx`
- [Artists & riders](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventArtistsTab.tsx): `components/events/detail/EventArtistsTab.tsx`
- [Event documents](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventDocumentsTab.tsx): `components/events/detail/EventDocumentsTab.tsx`

### Operations & Logistics

- [Logistics hub](https://github.com/mcaesarar2-boop/event-management/blob/main/components/logistics/LogisticsHubView.tsx): `components/logistics/LogisticsHubView.tsx`
- [Event requirements](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventProcurementTab.tsx): `components/events/detail/EventProcurementTab.tsx`
- [Risk management](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventRisksTab.tsx): `components/events/detail/EventRisksTab.tsx`

### Finance & Commercial

- [Event budget](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventBudgetTab.tsx): `components/events/detail/EventBudgetTab.tsx`
- [Finance & payments](https://github.com/mcaesarar2-boop/event-management/blob/main/components/finance/MasterFinanceView.tsx): `components/finance/MasterFinanceView.tsx`
- [Procurement & vendors](https://github.com/mcaesarar2-boop/event-management/blob/main/components/events/detail/EventProcurementTab.tsx): `components/events/detail/EventProcurementTab.tsx`
- [Sponsorship](https://github.com/mcaesarar2-boop/event-management/blob/main/components/finance/MasterSponsorshipView.tsx): `components/finance/MasterSponsorshipView.tsx`
- [Stakeholder directories](https://github.com/mcaesarar2-boop/event-management/blob/main/components/stakeholders/MasterVendorsView.tsx): `components/stakeholders/MasterVendorsView.tsx`

### Data & Integrations

- [Event API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/route.ts): `app/api/events/route.ts`
- [Event detail API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/route.ts): `app/api/events/[id]/route.ts`
- [Requirements API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/requirements/route.ts): `app/api/events/[id]/requirements/route.ts`
- [Logistics dispatch API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/logistics-request/route.ts): `app/api/events/[id]/logistics-request/route.ts`
- [Budget API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/events/%5Bid%5D/budget/route.ts): `app/api/events/[id]/budget/route.ts`
- [Reports API](https://github.com/mcaesarar2-boop/event-management/blob/main/app/api/reports/route.ts): `app/api/reports/route.ts`
- [Application data store](https://github.com/mcaesarar2-boop/event-management/blob/main/lib/db/store.ts): `lib/db/store.ts`
- [Supabase data services](https://github.com/mcaesarar2-boop/event-management/blob/main/lib/supabase/services.ts): `lib/supabase/services.ts`
- [Sponsor logo storage](https://github.com/mcaesarar2-boop/event-management/blob/main/lib/supabase/storage.ts): `lib/supabase/storage.ts`

### Other components

- **Event team**
- **ERP logistics**
- **Supabase**
- **Supabase Storage**

## Connections

- Event team → Global dashboard: opens
- Event team → Event portfolio: manages
- Event portfolio → Create event: creates
- Event portfolio → Event API: requests
- Create event → Event API: submits
- Event API → Application data store: reads / writes
- Event workspace → Event detail API: loads / updates
- Event detail API → Application data store: reads / writes
- Event budget → Budget API: requests
- Budget API → Application data store: reads / writes
- Event requirements → Requirements API: requests
- Requirements API → Application data store: reads / writes
- Logistics dispatch API → Application data store: dispatches from
- Logistics dispatch API → ERP logistics: dispatch-ready payload
- Reports → Reports API: requests
- Reports API → Application data store: reads
- Supabase data services → Supabase: queries
- Sponsor logo storage → Supabase Storage: uploads / retrieves URL
