# executivehelpnowcode/bright-solution-web-apps architecture

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

- Interactive diagram: https://gitdiagram.com/executivehelpnowcode/bright-solution-web-apps
- Repository: https://github.com/executivehelpnowcode/bright-solution-web-apps

## Overview

This is a React web app presenting the Bright Solutions Senior Living AI Toolkit. Users browse and filter toolkit resources, can complete an innovation/AI-readiness assessment, and download resources through an email-and-terms gate. The graph reflects the sampled runtime code; several section implementations and the download logger were not sampled, so uncertain wiring and logging destinations are omitted.

Main entry points: [`src/App.jsx`](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/App.jsx) (Toolkit app), [`src/useDownloadGate.js`](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/useDownloadGate.js) (Download gate), [`src/sections/assessment.jsx`](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/assessment.jsx) (Assessment), [`src/sections/hero.jsx`](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/hero.jsx) (Hero)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Toolkit experience"]
  node_entry["React entry<br/>[main.jsx]"]
  node_app["Toolkit app<br/>[App.jsx]"]
  node_hero["Hero<br/>[hero.jsx]"]
  node_filters["Resource filters<br/>[filters.jsx]"]
  node_catalog["Toolkit content<br/>[constants.jsx]"]
  node_footer["Footer<br/>[footer.jsx]"]
end

subgraph group_assessment["Readiness assessment"]
  node_assessment["Assessment<br/>[assessment.jsx]"]
  node_questions["Assessment questions<br/>[constants.jsx]"]
end

subgraph group_downloads["Download gate"]
  node_gate["Download gate<br/>[useDownloadGate.js]"]
  node_emailmodal["Email consent modal<br/>[emailGateModal.jsx]"]
  node_emailstate["Email and terms storage"]
  node_logger["Download logger<br/>[downloadLogger.js]"]
end

subgraph group_feedback["Testimonials"]
  node_testimonials["Testimonials section<br/>[testimonials.jsx]"]
  node_testimonialhook["Testimonials loader"]
end

node_user(("Visitor"))
node_download(("Download target"))
node_sheet[("Google Sheets CSV")]
node_youtube(("YouTube video"))

node_user -->|"opens app"| node_entry
node_entry -->|"renders"| node_app
node_app -->|"renders"| node_hero
node_app -->|"renders"| node_filters
node_app -->|"reads content"| node_catalog
node_filters -->|"builds options"| node_catalog
node_filters -->|"updates filters"| node_app
node_app -->|"renders"| node_testimonials
node_app -->|"renders"| node_footer
node_app -->|"renders modal"| node_assessment
node_assessment -->|"reads questions"| node_questions
node_hero -->|"opens assessment"| node_assessment
node_hero -->|"embeds video"| node_youtube
node_app -->|"requests download"| node_gate
node_assessment -->|"requests download"| node_gate
node_gate -->|"checks and saves"| node_emailstate
node_gate -->|"logs click"| node_logger
node_gate -->|"opens URL"| node_download
node_app -->|"renders pending gate"| node_emailmodal
node_emailmodal -->|"loads saved email"| node_emailstate
node_emailmodal -->|"submits or cancels"| node_gate
node_testimonials --> node_testimonialhook
node_testimonialhook -->|"downloads CSV"| node_sheet

click node_entry "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/main.jsx"
click node_app "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/App.jsx"
click node_hero "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/hero.jsx"
click node_filters "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/filters.jsx"
click node_catalog "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/constants.jsx"
click node_footer "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/footer.jsx"
click node_assessment "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/assessment.jsx"
click node_questions "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/constants.jsx"
click node_gate "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/useDownloadGate.js"
click node_emailmodal "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/components/emailGateModal.jsx"
click node_emailstate "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/downloadEmailStorage.js"
click node_logger "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/downloadLogger.js"
click node_testimonials "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/testimonials.jsx"
click node_testimonialhook "https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/useTestimonials.jsx"

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_entry,node_app,node_hero,node_filters,node_catalog,node_footer toneBlue
class node_assessment,node_questions,node_sheet toneAmber
class node_gate,node_emailmodal,node_emailstate,node_logger toneMint
class node_testimonials,node_testimonialhook toneRose
class node_user,node_download,node_youtube toneIndigo
```

## Components

### Toolkit experience

- [React entry](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/main.jsx): `src/main.jsx`
- [Toolkit app](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/App.jsx): `src/App.jsx`
- [Hero](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/hero.jsx): `src/sections/hero.jsx`
- [Resource filters](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/filters.jsx): `src/sections/filters.jsx`
- [Toolkit content](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/constants.jsx): `src/constants.jsx`
- [Footer](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/footer.jsx): `src/sections/footer.jsx`

### Readiness assessment

- [Assessment](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/assessment.jsx): `src/sections/assessment.jsx`
- [Assessment questions](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/constants.jsx): `src/constants.jsx`

### Download gate

- [Download gate](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/useDownloadGate.js): `src/useDownloadGate.js`
- [Email consent modal](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/components/emailGateModal.jsx): `src/components/emailGateModal.jsx`
- [Email and terms storage](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/downloadEmailStorage.js): `src/downloadEmailStorage.js`
- [Download logger](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/downloadLogger.js): `src/downloadLogger.js`

### Testimonials

- [Testimonials section](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/sections/testimonials.jsx): `src/sections/testimonials.jsx`
- [Testimonials loader](https://github.com/executivehelpnowcode/bright-solution-web-apps/blob/main/src/useTestimonials.jsx): `src/useTestimonials.jsx`

### Other components

- **Visitor**
- **Download target**
- **Google Sheets CSV**
- **YouTube video**

## Connections

- Visitor → React entry: opens app
- React entry → Toolkit app: renders
- Toolkit app → Hero: renders
- Toolkit app → Resource filters: renders
- Toolkit app → Toolkit content: reads content
- Resource filters → Toolkit content: builds options
- Resource filters → Toolkit app: updates filters
- Toolkit app → Testimonials section: renders
- Toolkit app → Footer: renders
- Toolkit app → Assessment: renders modal
- Assessment → Assessment questions: reads questions
- Hero → Assessment: opens assessment
- Hero → YouTube video: embeds video
- Toolkit app → Download gate: requests download
- Assessment → Download gate: requests download
- Download gate → Email and terms storage: checks and saves
- Download gate → Download logger: logs click
- Download gate → Download target: opens URL
- Toolkit app → Email consent modal: renders pending gate
- Email consent modal → Email and terms storage: loads saved email
- Email consent modal → Download gate: submits or cancels
- Testimonials section → Testimonials loader
- Testimonials loader → Google Sheets CSV: downloads CSV
