# nhuay2404/gom-gom-ban-choi architecture

> Architecture diagram of the GitHub repository nhuay2404/gom-gom-ban-choi, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nhuay2404/gom-gom-ban-choi
- Repository: https://github.com/nhuay2404/gom-gom-ban-choi

## Overview

Gom Gom Ban Choi is a browser game served locally by a small Node.js static server. The player opens the game in a browser; the server returns the game entry page and its bundled assets, and the browser runs the game. The documentation titles indicate a designed difficulty system and a 20-level progression, but the game bundle was not sampled, so those stages are represented within the bundle rather than as inferred modules. The tree and sampled server source support the serving flow; internal game behavior is opaque.

Main entry points: [`Gom-Gom-Ban-Choi/server.mjs`](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/server.mjs) (Static server), [`Gom-Gom-Ban-Choi/game/index.html`](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/index.html) (Game entry page), [`Gom-Gom-Ban-Choi/game/assets/index-CMIQ8SMt.js`](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-CMIQ8SMt.js) (Game runtime), [`Gom-Gom-Ban-Choi/game/assets/index-C7cbLXnu.css`](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-C7cbLXnu.css) (Game styles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_launch["Local serving"]
  node_server["Static server<br/>[server.mjs]"]
end

subgraph group_game["Browser game"]
  node_entry["Game entry page<br/>[index.html]"]
  node_runtime["Game runtime<br/>[index-CMIQ8SMt.js]"]
  node_styles["Game styles<br/>[index-C7cbLXnu.css]"]
  node_skins["Farm Pop skin"]
end

node_player(("Player"))
node_browser["Browser"]

node_player -->|"opens game"| node_browser
node_browser -->|"requests files"| node_server
node_server -->|"reads and serves"| node_entry
node_server -->|"reads and serves"| node_runtime
node_server -->|"reads and serves"| node_styles
node_browser -->|"loads page"| node_entry
node_entry -->|"loads script"| node_runtime
node_entry -->|"loads styles"| node_styles
node_runtime -->|"presents game"| node_player

click node_server "https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/server.mjs"
click node_entry "https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/index.html"
click node_runtime "https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-CMIQ8SMt.js"
click node_styles "https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-C7cbLXnu.css"
click node_skins "https://github.com/nhuay2404/gom-gom-ban-choi/tree/main/Gom-Gom-Ban-Choi/game/skins/farm-pop"

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_server,node_browser toneBlue
class node_entry,node_runtime,node_styles,node_skins toneAmber
class node_player toneIndigo
```

## Components

### Local serving

- [Static server](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/server.mjs): `Gom-Gom-Ban-Choi/server.mjs`

### Browser game

- [Game entry page](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/index.html): `Gom-Gom-Ban-Choi/game/index.html`
- [Game runtime](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-CMIQ8SMt.js): `Gom-Gom-Ban-Choi/game/assets/index-CMIQ8SMt.js`
- [Game styles](https://github.com/nhuay2404/gom-gom-ban-choi/blob/main/Gom-Gom-Ban-Choi/game/assets/index-C7cbLXnu.css): `Gom-Gom-Ban-Choi/game/assets/index-C7cbLXnu.css`
- [Farm Pop skin](https://github.com/nhuay2404/gom-gom-ban-choi/tree/main/Gom-Gom-Ban-Choi/game/skins/farm-pop): `Gom-Gom-Ban-Choi/game/skins/farm-pop`

### Other components

- **Player**
- **Browser**

## Connections

- Player → Browser: opens game
- Browser → Static server: requests files
- Static server → Game entry page: reads and serves
- Static server → Game runtime: reads and serves
- Static server → Game styles: reads and serves
- Browser → Game entry page: loads page
- Game entry page → Game runtime: loads script
- Game entry page → Game styles: loads styles
- Game runtime → Player: presents game
