# zukahai/confess-crush architecture

> Architecture diagram of the GitHub repository zukahai/confess-crush, 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/zukahai/confess-crush
- Repository: https://github.com/zukahai/confess-crush

## Overview

This is a configurable, static confession webpage. A visitor sees an introduction, responds to a playful yes/no prompt, and can follow the configured message link after accepting. The README also documents customizing config.js and deploying a fork through GitHub and Vercel. Runtime links reflect the sampled JavaScript; the HTML entry point was not sampled, so its loading relationships are omitted.

Main entry points: [`js/main.js`](https://github.com/zukahai/confess-crush/blob/main/js/main.js) (Interaction logic), [`config.js`](https://github.com/zukahai/confess-crush/blob/main/config.js) (Page configuration), [`index.html`](https://github.com/zukahai/confess-crush/blob/main/index.html) (Webpage), [`img`](https://github.com/zukahai/confess-crush/tree/main/img) (Page images)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Customization and hosting"]
  node_config["Page configuration<br/>[config.js]"]
end

subgraph group_experience["Confession experience"]
  node_page["Webpage<br/>[index.html]"]
  node_behavior["Interaction logic<br/>[main.js]"]
  node_ui["UI libraries"]
end

subgraph group_assets["Presentation assets"]
  node_images["Page images"]
  node_sounds["Interaction sounds"]
end

node_visitor(("Visitor"))
node_author(("Site owner"))
node_github["GitHub"]
node_vercel["Vercel"]

node_author -->|"forks project"| node_github
node_author -->|"edits settings"| node_config
node_github -->|"imports project"| node_vercel
node_vercel -->|"hosts webpage"| node_visitor
node_visitor -->|"opens page"| node_page
node_visitor -->|"interacts"| node_behavior
node_behavior -->|"reads settings"| node_config
node_behavior -->|"calls dialogs"| node_ui
node_behavior -->|"loads images"| node_images
node_behavior -->|"plays audio"| node_sounds
node_behavior -->|"shows responses"| node_visitor

click node_config "https://github.com/zukahai/confess-crush/blob/main/config.js"
click node_page "https://github.com/zukahai/confess-crush/blob/main/index.html"
click node_behavior "https://github.com/zukahai/confess-crush/blob/main/js/main.js"
click node_images "https://github.com/zukahai/confess-crush/tree/main/img"
click node_sounds "https://github.com/zukahai/confess-crush/tree/main/sound"

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_config toneBlue
class node_page,node_behavior,node_ui toneAmber
class node_images,node_sounds toneMint
class node_visitor,node_author,node_github,node_vercel toneIndigo
```

## Components

### Customization and hosting

- [Page configuration](https://github.com/zukahai/confess-crush/blob/main/config.js): `config.js`

### Confession experience

- [Webpage](https://github.com/zukahai/confess-crush/blob/main/index.html): `index.html`
- [Interaction logic](https://github.com/zukahai/confess-crush/blob/main/js/main.js): `js/main.js`
- **UI libraries**

### Presentation assets

- [Page images](https://github.com/zukahai/confess-crush/tree/main/img): `img`
- [Interaction sounds](https://github.com/zukahai/confess-crush/tree/main/sound): `sound`

### Other components

- **Visitor**
- **Site owner**
- **GitHub**
- **Vercel**

## Connections

- Site owner → GitHub: forks project
- Site owner → Page configuration: edits settings
- GitHub → Vercel: imports project
- Vercel → Visitor: hosts webpage
- Visitor → Webpage: opens page
- Visitor → Interaction logic: interacts
- Interaction logic → Page configuration: reads settings
- Interaction logic → UI libraries: calls dialogs
- Interaction logic → Page images: loads images
- Interaction logic → Interaction sounds: plays audio
- Interaction logic → Visitor: shows responses
