# eddi3f/heel-head-harmony-qa architecture

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

- Interactive diagram: https://gitdiagram.com/eddi3f/heel-head-harmony-qa
- Repository: https://github.com/eddi3f/heel-head-harmony-qa

## Overview

Heel Head Harmony is a static website for a reflexology practice. Visitors browse information about Pamela, treatments and prices, research, and contact options; the main enquiry workflow submits the contact form to a Cloudflare Worker, which sends email through Resend. Google Sheets can supply editable testimonials, treatment details, research links, About content and FAQs, with page content retained as fallback. The sampled JavaScript supports the data-loading and form flows; page-to-script wiring and other HTML details are based on the README and file tree.

Main entry points: [`js/data.js`](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/data.js) (Sheet content loader), [`js/site.js`](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/site.js) (Site interactions), [`contact.html`](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/contact.html) (Contact), [`styles.css`](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/styles.css) (Site styling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pages["Public pages"]
  node_home["Home<br/>[index.html]"]
  node_about["About<br/>[about.html]"]
  node_treatments["Treatments<br/>[treatments.html]"]
  node_research["Research<br/>[research.html]"]
  node_contact["Contact<br/>[contact.html]"]
  node_notfound["404 page<br/>[404.html]"]
end

subgraph group_shared["Shared site behavior"]
  node_styles["Site styling<br/>[styles.css]"]
  node_sitejs["Site interactions<br/>[site.js]"]
  node_config["Site config<br/>[config.js]"]
end

subgraph group_content["Editable content"]
  node_loader["Sheet content loader<br/>[data.js]"]
end

subgraph group_services["External services"]
  node_sheets[("Google Sheets")]
  node_worker["Contact Worker"]
  node_resend["Resend email API"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_home
node_visitor -->|"opens"| node_about
node_visitor -->|"opens"| node_treatments
node_visitor -->|"opens"| node_research
node_visitor -->|"opens"| node_contact
node_visitor -->|"reaches"| node_notfound
node_home -->|"uses styles"| node_styles
node_about -->|"uses styles"| node_styles
node_treatments -->|"uses styles"| node_styles
node_research -->|"uses styles"| node_styles
node_contact -->|"uses styles"| node_styles
node_home -->|"uses behavior"| node_sitejs
node_about -->|"uses behavior"| node_sitejs
node_treatments -->|"uses behavior"| node_sitejs
node_research -->|"uses behavior"| node_sitejs
node_contact -->|"uses behavior"| node_sitejs
node_config -->|"configures"| node_loader
node_config -->|"configures"| node_sitejs
node_loader -->|"fetches CSV"| node_sheets
node_loader -->|"renders quotes"| node_home
node_loader -->|"renders prices, FAQ"| node_treatments
node_loader -->|"renders links"| node_research
node_loader -->|"renders bio, credentials"| node_about
node_loader -->|"syncs treatments"| node_contact
node_loader -->|"invokes callbacks"| node_sitejs
node_contact -->|"submits form"| node_sitejs
node_sitejs -->|"POSTs enquiry"| node_worker
node_worker -->|"sends email"| node_resend

click node_home "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/index.html"
click node_about "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/about.html"
click node_treatments "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/treatments.html"
click node_research "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/research.html"
click node_contact "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/contact.html"
click node_notfound "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/404.html"
click node_styles "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/styles.css"
click node_sitejs "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/site.js"
click node_config "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/config.js"
click node_loader "https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/data.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_home,node_about,node_treatments,node_research,node_contact,node_notfound toneBlue
class node_styles,node_sitejs,node_config toneAmber
class node_loader toneMint
class node_sheets,node_worker,node_resend toneRose
class node_visitor toneIndigo
```

## Components

### Public pages

- [Home](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/index.html): `index.html`
- [About](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/about.html): `about.html`
- [Treatments](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/treatments.html): `treatments.html`
- [Research](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/research.html): `research.html`
- [Contact](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/contact.html): `contact.html`
- [404 page](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/404.html): `404.html`

### Shared site behavior

- [Site styling](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/styles.css): `styles.css`
- [Site interactions](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/site.js): `js/site.js`
- [Site config](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/config.js): `js/config.js`

### Editable content

- [Sheet content loader](https://github.com/eddi3f/heel-head-harmony-qa/blob/main/js/data.js): `js/data.js`

### External services

- **Google Sheets**
- **Contact Worker**
- **Resend email API**

### Other components

- **Visitor**

## Connections

- Visitor → Home: opens
- Visitor → About: opens
- Visitor → Treatments: opens
- Visitor → Research: opens
- Visitor → Contact: opens
- Visitor → 404 page: reaches
- Home → Site styling: uses styles
- About → Site styling: uses styles
- Treatments → Site styling: uses styles
- Research → Site styling: uses styles
- Contact → Site styling: uses styles
- Home → Site interactions: uses behavior
- About → Site interactions: uses behavior
- Treatments → Site interactions: uses behavior
- Research → Site interactions: uses behavior
- Contact → Site interactions: uses behavior
- Site config → Sheet content loader: configures
- Site config → Site interactions: configures
- Sheet content loader → Google Sheets: fetches CSV
- Sheet content loader → Home: renders quotes
- Sheet content loader → Treatments: renders prices, FAQ
- Sheet content loader → Research: renders links
- Sheet content loader → About: renders bio, credentials
- Sheet content loader → Contact: syncs treatments
- Sheet content loader → Site interactions: invokes callbacks
- Contact → Site interactions: submits form
- Site interactions → Contact Worker: POSTs enquiry
- Contact Worker → Resend email API: sends email
