# surulereict-wq/mba-executive-soiree architecture

> Architecture diagram of the GitHub repository surulereict-wq/mba-executive-soiree, 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/surulereict-wq/mba-executive-soiree
- Repository: https://github.com/surulereict-wq/mba-executive-soiree

## Overview

UNILAG MBA SA is a ticketing site for the Annual Dinner & Gala. The documented guest journey collects attendee details and ticket selections, then is intended to initialize a Paystack payment, process its success webhook, and record the result in a master Google Sheet for course-rep views. The README says the current form only displays a local confirmation; the backend is still to be built. The repository tree contains no frontend/ directory, so the existing page is represented by its actual path, index.html.

Main entry points: [`backend`](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend) (Success webhook), [`index.html`](https://github.com/surulereict-wq/mba-executive-soiree/blob/main/index.html) (Ticket form)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Guest experience"]
  node_ticket_form["Ticket form<br/>[index.html]"]
  node_local_confirmation["Local confirmation<br/>[index.html]"]
end

subgraph group_payments["Payment processing"]
  node_backend_endpoint["Ticket endpoint"]
  node_pricing["Authoritative pricing"]
  node_paystack_init["Initialize transaction"]
  node_webhook["Success webhook"]
  node_signature_check["Signature verification"]
  node_metadata["Payment metadata"]
end

subgraph group_records["Ticket records"]
  node_sheet_writer["Sheet writer"]
  node_master_sheet[("Master Google Sheet")]
  node_rep_sheets[("Course rep Sheets")]
end

node_guest(("Guest"))
node_paystack["Paystack"]
node_checkout["Payment checkout"]

node_guest -->|"enters details"| node_ticket_form
node_ticket_form -->|"shows confirmation"| node_local_confirmation
node_ticket_form -.->|"POSTs selections"| node_backend_endpoint
node_backend_endpoint -.->|"applies prices"| node_pricing
node_backend_endpoint -.->|"starts transaction"| node_paystack_init
node_paystack_init -.->|"calls API"| node_paystack
node_paystack -.->|"redirects guest"| node_checkout
node_paystack -.->|"sends success event"| node_webhook
node_webhook -.->|"verifies signature"| node_signature_check
node_webhook -.->|"reads metadata"| node_metadata
node_webhook -.->|"writes payment row"| node_sheet_writer
node_sheet_writer -.->|"appends row"| node_master_sheet
node_master_sheet -.->|"feeds filtered views"| node_rep_sheets

click node_ticket_form "https://github.com/surulereict-wq/mba-executive-soiree/blob/main/index.html"
click node_local_confirmation "https://github.com/surulereict-wq/mba-executive-soiree/blob/main/index.html"
click node_backend_endpoint "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_pricing "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_paystack_init "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_webhook "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_signature_check "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_metadata "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"
click node_sheet_writer "https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend"

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_ticket_form,node_local_confirmation toneBlue
class node_backend_endpoint,node_pricing,node_paystack_init,node_webhook,node_signature_check,node_metadata toneAmber
class node_sheet_writer,node_master_sheet,node_rep_sheets toneMint
class node_guest,node_paystack,node_checkout toneIndigo
```

## Components

### Guest experience

- [Ticket form](https://github.com/surulereict-wq/mba-executive-soiree/blob/main/index.html): `index.html`
- [Local confirmation](https://github.com/surulereict-wq/mba-executive-soiree/blob/main/index.html): `index.html`

### Payment processing

- [Ticket endpoint](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- [Authoritative pricing](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- [Initialize transaction](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- [Success webhook](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- [Signature verification](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- [Payment metadata](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`

### Ticket records

- [Sheet writer](https://github.com/surulereict-wq/mba-executive-soiree/tree/main/backend): `backend`
- **Master Google Sheet**
- **Course rep Sheets**

### Other components

- **Guest**
- **Paystack**
- **Payment checkout**

## Connections

- Guest → Ticket form: enters details (evidence: `README.md`)
- Ticket form → Local confirmation: shows confirmation (evidence: `README.md`)
- Ticket form → Ticket endpoint: POSTs selections (evidence: `README.md`)
- Ticket endpoint → Authoritative pricing: applies prices (evidence: `README.md`)
- Ticket endpoint → Initialize transaction: starts transaction (evidence: `README.md`)
- Initialize transaction → Paystack: calls API (evidence: `README.md`)
- Paystack → Payment checkout: redirects guest (evidence: `README.md`)
- Paystack → Success webhook: sends success event (evidence: `README.md`)
- Success webhook → Signature verification: verifies signature (evidence: `README.md`)
- Success webhook → Payment metadata: reads metadata (evidence: `README.md`)
- Success webhook → Sheet writer: writes payment row (evidence: `README.md`)
- Sheet writer → Master Google Sheet: appends row (evidence: `README.md`)
- Master Google Sheet → Course rep Sheets: feeds filtered views (evidence: `README.md`)
