# love-wedding/wedding architecture

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

- Interactive diagram: https://gitdiagram.com/love-wedding/wedding
- Repository: https://github.com/love-wedding/wedding

## Overview

This repository is a collection of static wedding-invitation experiences and related browser scripts, rather than one unified application. The likely user workflow is opening an invitation page and interacting with its presentation; sampled code shows audio, photo-gallery, countdown, and guest-popup behavior in one template, while other large bundles are opaque. The tree and excerpts support mapping the template variants and their known features, but not a shared runtime pipeline between them. Several substantial files are minified or only partially sampled, so their internal responsibilities and wiring remain uncertain.

Main entry points: [`thiep-4/js/main.js`](https://github.com/love-wedding/wedding/blob/master/thiep-4/js/main.js) (Template 4)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_templates["Invitation templates"]
  node_thiep4["Template 4<br/>[main.js]"]
  node_thiep4v2["Template 4 v2<br/>[main-v2.js]"]
  node_thiep1v2["Template 1 v2<br/>[main.js]"]
  node_thiep10data["Template 10 data<br/>[script.js]"]
  node_thiep10["Template 10 runtime<br/>[index.js]"]
  node_thiep5backup["Template 5 backup<br/>[kyten.js]"]
  node_thiep9["Template 9 script<br/>[index.js]"]
end

subgraph group_interactions["Invitation interactions"]
  node_thiep2audio["Audio controls<br/>[common.js]"]
  node_thiep2gallery["Photo gallery<br/>[common.js]"]
  node_thiep2countdown["Countdown logic<br/>[countdown.js]"]
  node_thiep5names["Name creation<br/>[createName.js]"]
  node_thiep5signature["Signature handling<br/>[kyten.js]"]
  node_thiep5read["Signature listing<br/>[readSignature.js]"]
  node_thiep5album["Photo book<br/>[photoBook.js]"]
  node_thiep5message["Message box"]
  node_thiep5music["Music controls<br/>[musicHandle.js]"]
  node_thiep5scroll["Auto scrolling<br/>[autoScroll.js]"]
  node_thiep5url["URL cleanup<br/>[deleteUrl.js]"]
  node_thiep5backupalbum["Backup photo book<br/>[photoBook.js]"]
  node_thiep5backupread["Backup signatures<br/>[readSignature.js]"]
end

subgraph group_vendor["Embedded platform code"]
  node_fingerprint["Fingerprint bundle<br/>[fingerprint.js]"]
end

node_guest(("Invitee"))

node_guest -.->|"opens invitation"| node_thiep4

click node_thiep4 "https://github.com/love-wedding/wedding/blob/master/thiep-4/js/main.js"
click node_thiep4v2 "https://github.com/love-wedding/wedding/blob/master/thiep-4/js/main-v2.js"
click node_thiep1v2 "https://github.com/love-wedding/wedding/blob/master/thiep-1_v2/asstes/js/main.js"
click node_thiep10data "https://github.com/love-wedding/wedding/blob/master/thiep-10/asstes/js/script.js"
click node_thiep10 "https://github.com/love-wedding/wedding/blob/master/thiep-10/asstes/js/index.js"
click node_thiep2audio "https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/common.js"
click node_thiep2gallery "https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/common.js"
click node_thiep2countdown "https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/countdown.js"
click node_thiep5names "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/createName.js"
click node_thiep5signature "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/kyten.js"
click node_thiep5read "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/readSignature.js"
click node_thiep5album "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/photoBook.js"
click node_thiep5message "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/messageBoxFunction.js"
click node_thiep5music "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/musicHandle.js"
click node_thiep5scroll "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/autoScroll.js"
click node_thiep5url "https://github.com/love-wedding/wedding/blob/master/thiep-5/js/deleteUrl.js"
click node_thiep5backup "https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/kyten.js"
click node_thiep5backupalbum "https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/photoBook.js"
click node_thiep5backupread "https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/readSignature.js"
click node_fingerprint "https://github.com/love-wedding/wedding/blob/master/thiep-9_1/thiep-9/a.pancake.vn/js/fingerprint.js"
click node_thiep9 "https://github.com/love-wedding/wedding/blob/master/thiep-9/js/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_thiep4,node_thiep4v2,node_thiep1v2,node_thiep10data,node_thiep10,node_thiep5backup,node_thiep9 toneBlue
class node_thiep2audio,node_thiep2gallery,node_thiep2countdown,node_thiep5names,node_thiep5signature,node_thiep5read,node_thiep5album,node_thiep5message,node_thiep5music,node_thiep5scroll,node_thiep5url,node_thiep5backupalbum,node_thiep5backupread toneAmber
class node_fingerprint toneMint
class node_guest toneIndigo
```

## Components

### Invitation templates

- [Template 4](https://github.com/love-wedding/wedding/blob/master/thiep-4/js/main.js): `thiep-4/js/main.js`
- [Template 4 v2](https://github.com/love-wedding/wedding/blob/master/thiep-4/js/main-v2.js): `thiep-4/js/main-v2.js`
- [Template 1 v2](https://github.com/love-wedding/wedding/blob/master/thiep-1_v2/asstes/js/main.js): `thiep-1_v2/asstes/js/main.js`
- [Template 10 data](https://github.com/love-wedding/wedding/blob/master/thiep-10/asstes/js/script.js): `thiep-10/asstes/js/script.js`
- [Template 10 runtime](https://github.com/love-wedding/wedding/blob/master/thiep-10/asstes/js/index.js): `thiep-10/asstes/js/index.js`
- [Template 5 backup](https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/kyten.js): `thiep-5_bk/js/kyten.js`
- [Template 9 script](https://github.com/love-wedding/wedding/blob/master/thiep-9/js/index.js): `thiep-9/js/index.js`

### Invitation interactions

- [Audio controls](https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/common.js): `thiep-2/asstes/js/common.js`
- [Photo gallery](https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/common.js): `thiep-2/asstes/js/common.js`
- [Countdown logic](https://github.com/love-wedding/wedding/blob/master/thiep-2/asstes/js/countdown.js): `thiep-2/asstes/js/countdown.js`
- [Name creation](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/createName.js): `thiep-5/js/createName.js`
- [Signature handling](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/kyten.js): `thiep-5/js/kyten.js`
- [Signature listing](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/readSignature.js): `thiep-5/js/readSignature.js`
- [Photo book](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/photoBook.js): `thiep-5/js/photoBook.js`
- [Message box](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/messageBoxFunction.js): `thiep-5/js/messageBoxFunction.js`
- [Music controls](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/musicHandle.js): `thiep-5/js/musicHandle.js`
- [Auto scrolling](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/autoScroll.js): `thiep-5/js/autoScroll.js`
- [URL cleanup](https://github.com/love-wedding/wedding/blob/master/thiep-5/js/deleteUrl.js): `thiep-5/js/deleteUrl.js`
- [Backup photo book](https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/photoBook.js): `thiep-5_bk/js/photoBook.js`
- [Backup signatures](https://github.com/love-wedding/wedding/blob/master/thiep-5_bk/js/readSignature.js): `thiep-5_bk/js/readSignature.js`

### Embedded platform code

- [Fingerprint bundle](https://github.com/love-wedding/wedding/blob/master/thiep-9_1/thiep-9/a.pancake.vn/js/fingerprint.js): `thiep-9_1/thiep-9/a.pancake.vn/js/fingerprint.js`

### Other components

- **Invitee**

## Connections

- Invitee → Template 4: opens invitation
