# demesheo/nitewide architecture

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

- Interactive diagram: https://gitdiagram.com/demesheo/nitewide
- Repository: https://github.com/demesheo/nitewide

## Overview

Nitewide is an event marketplace and operations platform. Customers discover events, authenticate, book tickets or join guestlists, and use admission passes; business users create and manage events, teams, guestlists, admissions, and analytics, while internal administrators oversee platform operations. The Express API coordinates these workflows over PostgreSQL-backed domain records. The README documents durable transactional email and QR/mobile admission capabilities; some implementing modules are present in the tree but were not sampled, so those links are documented rather than asserted as inspected calls.

Main entry points: [`apps/api/src/app.js`](https://github.com/demesheo/nitewide/blob/main/apps/api/src/app.js) (HTTP application), [`apps/api/src/routes/index.js`](https://github.com/demesheo/nitewide/blob/main/apps/api/src/routes/index.js) (Route dispatch), [`apps/api/src/services/guestlist-invitation-service.js`](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/guestlist-invitation-service.js) (Guestlist invitations), [`apps/customer/src/App.jsx`](https://github.com/demesheo/nitewide/blob/main/apps/customer/src/App.jsx) (Discovery and booking)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_customer["Customer experience"]
  node_customer_app["Discovery and booking<br/>[App.jsx]"]
  node_customer_auth["Customer authentication<br/>[auth-dialog.jsx]"]
  node_customer_api["Customer API client<br/>[api.js]"]
end

subgraph group_business["Business operations"]
  node_business_app["Business workspace<br/>[App.jsx]"]
  node_business_features["Event operations"]
  node_business_api["Business API client<br/>[api.js]"]
end

subgraph group_platform["Platform API"]
  node_api_runtime["HTTP application<br/>[app.js]"]
  node_api_routes["Route dispatch<br/>[index.js]"]
  node_public_workflows["Discovery and public events"]
  node_commerce_workflows["Checkout and commerce"]
  node_management_workflows["Event management"]
  node_auth_service["Identity and sessions<br/>[auth-service.js]"]
  node_guestlist_service["Guestlist invitations"]
  node_admission_service["Admissions and check-in<br/>[checkin-service.js]"]
  node_analytics_service["Business analytics"]
  node_email_service["Transactional email<br/>[email-service.js]"]
  node_database[("PostgreSQL records<br/>[index.js]")]
end

subgraph group_admin["Administration"]
  node_admin_app["Admin workspace<br/>[main.jsx]"]
  node_admin_management["Platform management<br/>[Management.jsx]"]
  node_admin_api["Admin API client<br/>[api.js]"]
end

node_customer_actor(("Event customers"))
node_business_actor(("Event operators"))
node_admin_actor(("Internal administrators"))
node_email_provider["Resend"]

node_customer_actor -->|"browses and books"| node_customer_app
node_customer_app -->|"opens sign-in"| node_customer_auth
node_customer_auth -->|"submits credentials"| node_customer_api
node_customer_app -->|"requests event data"| node_customer_api
node_customer_api -.->|"calls REST API"| node_api_runtime
node_business_actor -->|"manages events"| node_business_app
node_business_app -->|"presents workspace"| node_business_features
node_business_app -->|"uses client"| node_business_api
node_business_api -.->|"calls REST API"| node_api_runtime
node_admin_actor -->|"administers platform"| node_admin_app
node_admin_app -->|"renders management"| node_admin_management
node_admin_management -->|"requests records"| node_admin_api
node_admin_api -.->|"calls REST API"| node_api_runtime
node_api_runtime -->|"dispatches routes"| node_api_routes
node_api_routes -->|"routes public requests"| node_public_workflows
node_api_routes -->|"routes commerce requests"| node_commerce_workflows
node_api_routes -->|"routes management requests"| node_management_workflows
node_api_runtime -->|"creates auth service"| node_auth_service
node_api_runtime -->|"creates guestlist service"| node_guestlist_service
node_api_runtime -->|"creates email service"| node_email_service
node_auth_service -->|"reads and writes accounts"| node_database
node_auth_service -->|"creates invitations"| node_guestlist_service
node_guestlist_service -->|"manages invitations"| node_database
node_guestlist_service -->|"queues messages"| node_email_service
node_management_workflows -->|"creates event records"| node_database
node_api_runtime -.->|"registers check-in"| node_admission_service
node_api_runtime -.->|"registers reporting"| node_analytics_service
node_email_service -.->|"delivers email"| node_email_provider

click node_customer_app "https://github.com/demesheo/nitewide/blob/main/apps/customer/src/App.jsx"
click node_customer_auth "https://github.com/demesheo/nitewide/blob/main/apps/customer/src/components/auth-dialog.jsx"
click node_customer_api "https://github.com/demesheo/nitewide/blob/main/apps/customer/src/lib/api.js"
click node_business_app "https://github.com/demesheo/nitewide/blob/main/apps/business/src/App.jsx"
click node_business_features "https://github.com/demesheo/nitewide/tree/main/apps/business/src/components"
click node_business_api "https://github.com/demesheo/nitewide/blob/main/apps/business/src/lib/api.js"
click node_admin_app "https://github.com/demesheo/nitewide/blob/main/apps/admin/src/main.jsx"
click node_admin_management "https://github.com/demesheo/nitewide/blob/main/apps/admin/src/components/Management.jsx"
click node_admin_api "https://github.com/demesheo/nitewide/blob/main/apps/admin/src/lib/api.js"
click node_api_runtime "https://github.com/demesheo/nitewide/blob/main/apps/api/src/app.js"
click node_api_routes "https://github.com/demesheo/nitewide/blob/main/apps/api/src/routes/index.js"
click node_public_workflows "https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/public-controller.js"
click node_commerce_workflows "https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/commerce-controller.js"
click node_management_workflows "https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/management-controller.js"
click node_auth_service "https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/auth-service.js"
click node_guestlist_service "https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/guestlist-invitation-service.js"
click node_admission_service "https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/checkin-service.js"
click node_analytics_service "https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/business-report-service.js"
click node_email_service "https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/email-service.js"
click node_database "https://github.com/demesheo/nitewide/blob/main/apps/api/src/db/models/index.js"

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_customer_app,node_customer_auth,node_customer_api toneBlue
class node_business_app,node_business_features,node_business_api toneAmber
class node_api_runtime,node_api_routes,node_public_workflows,node_commerce_workflows,node_management_workflows,node_auth_service,node_guestlist_service,node_admission_service,node_analytics_service,node_email_service,node_database toneMint
class node_admin_app,node_admin_management,node_admin_api toneRose
class node_customer_actor,node_business_actor,node_admin_actor,node_email_provider toneIndigo
```

## Components

### Customer experience

- [Discovery and booking](https://github.com/demesheo/nitewide/blob/main/apps/customer/src/App.jsx): `apps/customer/src/App.jsx`
- [Customer authentication](https://github.com/demesheo/nitewide/blob/main/apps/customer/src/components/auth-dialog.jsx): `apps/customer/src/components/auth-dialog.jsx`
- [Customer API client](https://github.com/demesheo/nitewide/blob/main/apps/customer/src/lib/api.js): `apps/customer/src/lib/api.js`

### Business operations

- [Business workspace](https://github.com/demesheo/nitewide/blob/main/apps/business/src/App.jsx): `apps/business/src/App.jsx`
- [Event operations](https://github.com/demesheo/nitewide/tree/main/apps/business/src/components): `apps/business/src/components`
- [Business API client](https://github.com/demesheo/nitewide/blob/main/apps/business/src/lib/api.js): `apps/business/src/lib/api.js`

### Platform API

- [HTTP application](https://github.com/demesheo/nitewide/blob/main/apps/api/src/app.js): `apps/api/src/app.js`
- [Route dispatch](https://github.com/demesheo/nitewide/blob/main/apps/api/src/routes/index.js): `apps/api/src/routes/index.js`
- [Discovery and public events](https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/public-controller.js): `apps/api/src/controllers/public-controller.js`
- [Checkout and commerce](https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/commerce-controller.js): `apps/api/src/controllers/commerce-controller.js`
- [Event management](https://github.com/demesheo/nitewide/blob/main/apps/api/src/controllers/management-controller.js): `apps/api/src/controllers/management-controller.js`
- [Identity and sessions](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/auth-service.js): `apps/api/src/services/auth-service.js`
- [Guestlist invitations](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/guestlist-invitation-service.js): `apps/api/src/services/guestlist-invitation-service.js`
- [Admissions and check-in](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/checkin-service.js): `apps/api/src/services/checkin-service.js`
- [Business analytics](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/business-report-service.js): `apps/api/src/services/business-report-service.js`
- [Transactional email](https://github.com/demesheo/nitewide/blob/main/apps/api/src/services/email-service.js): `apps/api/src/services/email-service.js`
- [PostgreSQL records](https://github.com/demesheo/nitewide/blob/main/apps/api/src/db/models/index.js): `apps/api/src/db/models/index.js`

### Administration

- [Admin workspace](https://github.com/demesheo/nitewide/blob/main/apps/admin/src/main.jsx): `apps/admin/src/main.jsx`
- [Platform management](https://github.com/demesheo/nitewide/blob/main/apps/admin/src/components/Management.jsx): `apps/admin/src/components/Management.jsx`
- [Admin API client](https://github.com/demesheo/nitewide/blob/main/apps/admin/src/lib/api.js): `apps/admin/src/lib/api.js`

### Other components

- **Event customers**
- **Event operators**
- **Internal administrators**
- **Resend**

## Connections

- Event customers → Discovery and booking: browses and books (evidence: `README.md`)
- Discovery and booking → Customer authentication: opens sign-in (evidence: `apps/customer/src/App.jsx`)
- Customer authentication → Customer API client: submits credentials (evidence: `apps/customer/src/components/auth-dialog.jsx`)
- Discovery and booking → Customer API client: requests event data (evidence: `apps/customer/src/App.jsx`)
- Customer API client → HTTP application: calls REST API
- Event operators → Business workspace: manages events (evidence: `README.md`)
- Business workspace → Event operations: presents workspace (evidence: `apps/business/src/App.jsx`)
- Business workspace → Business API client: uses client (evidence: `apps/business/src/App.jsx`)
- Business API client → HTTP application: calls REST API
- Internal administrators → Admin workspace: administers platform (evidence: `apps/admin/src/main.jsx`)
- Admin workspace → Platform management: renders management (evidence: `apps/admin/src/main.jsx`)
- Platform management → Admin API client: requests records (evidence: `apps/admin/src/components/Management.jsx`)
- Admin API client → HTTP application: calls REST API
- HTTP application → Route dispatch: dispatches routes (evidence: `apps/api/src/app.js`)
- Route dispatch → Discovery and public events: routes public requests (evidence: `apps/api/src/app.js`)
- Route dispatch → Checkout and commerce: routes commerce requests (evidence: `apps/api/src/app.js`)
- Route dispatch → Event management: routes management requests (evidence: `apps/api/src/app.js`)
- HTTP application → Identity and sessions: creates auth service (evidence: `apps/api/src/app.js`)
- HTTP application → Guestlist invitations: creates guestlist service (evidence: `apps/api/src/app.js`)
- HTTP application → Transactional email: creates email service (evidence: `apps/api/src/app.js`)
- Identity and sessions → PostgreSQL records: reads and writes accounts (evidence: `apps/api/src/services/auth-service.js`)
- Identity and sessions → Guestlist invitations: creates invitations (evidence: `apps/api/src/services/auth-service.js`)
- Guestlist invitations → PostgreSQL records: manages invitations
- Guestlist invitations → Transactional email: queues messages
- Event management → PostgreSQL records: creates event records (evidence: `apps/api/src/controllers/management-controller.js`)
- HTTP application → Admissions and check-in: registers check-in (evidence: `apps/api/src/app.js`)
- HTTP application → Business analytics: registers reporting
- Transactional email → Resend: delivers email (evidence: `README.md`)
