# takagino/tri-education architecture

> Architecture diagram of the GitHub repository takagino/tri-education, 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/takagino/tri-education
- Repository: https://github.com/takagino/tri-education

## Overview

This repository is a collection of independent web-design and programming coursework exercises, not one integrated application. The user-facing pattern is to open an exercise, interact with its page or visualization, and see a rendered result; some AI exercises also send prompts to a service and display or log its response. Major branches include algorithm sketches, WordPress themes, WebGL/React Three Fiber demos, and Gemini-backed AI experiments. There is no README, and the sampled files do not establish wiring between the separate exercises.

Main entry points: [`wf1/2nd/cms/completed/index.php`](https://github.com/takagino/tri-education/blob/main/wf1/2nd/cms/completed/index.php) (Completed CMS theme), [`ws1/2nd/ai-content/08/ai-server/server.js`](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/08/ai-server/server.js) (Gemini API service), [`ws1/2nd/ai-content/04/server.js`](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/04/server.js) (Prompt client), [`ws1/2nd/ai-content/07/ai-game-server/server.js`](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/07/ai-game-server/server.js) (Game settings AI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_creative["Creative coding"]
  node_algorithm_sketches["Algorithm sketches"]
end

subgraph group_sites["Web pages"]
  node_markup_exercise["Markup exercise<br/>[script.js]"]
  node_cms_theme["Completed CMS theme<br/>[index.php]"]
  node_cms_templates["CMS page templates"]
  node_cms_functions["Theme functions<br/>[functions.php]"]
end

subgraph group_graphics["3D graphics"]
  node_webgl_clock["3D clock<br/>[main.js]"]
  node_network_demo["Particle network<br/>[main.js]"]
  node_portfolio_demo["3D portfolio<br/>[main.js]"]
  node_fugu_demo["Fugu clock<br/>[main.js]"]
  node_r3f_scroll["Scroll animations<br/>[App.jsx]"]
  node_gsap_particles["Animated particles<br/>[App.jsx]"]
  node_conference_page["Conference landing page<br/>[App.jsx]"]
  node_todo_app["Todo application<br/>[App.jsx]"]
end

subgraph group_ai["AI experiments"]
  node_ai_client["Prompt client<br/>[server.js]"]
  node_gemini_service["Gemini API service<br/>[server.js]"]
  node_game_ai["Game settings AI<br/>[server.js]"]
end

node_visitor(("Page visitor"))
node_gemini_provider{{"Google Gemini"}}

node_visitor -->|"opens exercise"| node_algorithm_sketches
node_visitor -->|"views page"| node_markup_exercise
node_visitor -->|"views site"| node_cms_theme
node_cms_theme -->|"renders templates"| node_cms_templates
node_cms_theme -->|"uses functions"| node_cms_functions
node_visitor -->|"views scene"| node_webgl_clock
node_visitor -->|"views scene"| node_network_demo
node_visitor -->|"views scene"| node_portfolio_demo
node_visitor -->|"views scene"| node_fugu_demo
node_visitor -->|"scrolls page"| node_r3f_scroll
node_visitor -->|"scrolls page"| node_gsap_particles
node_visitor -->|"views page"| node_conference_page
node_visitor -->|"uses app"| node_todo_app
node_visitor -->|"submits prompt"| node_ai_client
node_ai_client -.->|"posts analysis request"| node_gemini_service
node_visitor -->|"submits prompt"| node_gemini_service
node_gemini_service -->|"requests generation"| node_gemini_provider
node_visitor -->|"submits prompt"| node_game_ai
node_game_ai -->|"requests generation"| node_gemini_provider

click node_algorithm_sketches "https://github.com/takagino/tri-education/tree/main/wf1/1st/algorithm"
click node_markup_exercise "https://github.com/takagino/tri-education/blob/main/wf1/1st/markup-basics/19-mache/completed/script.js"
click node_cms_theme "https://github.com/takagino/tri-education/blob/main/wf1/2nd/cms/completed/index.php"
click node_cms_templates "https://github.com/takagino/tri-education/tree/main/wf1/2nd/cms/completed"
click node_cms_functions "https://github.com/takagino/tri-education/blob/main/wf1/2nd/cms/completed/functions.php"
click node_webgl_clock "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/05/clock/src/main.js"
click node_network_demo "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/07/network/src/main.js"
click node_portfolio_demo "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/07/portfolio/src/main.js"
click node_fugu_demo "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/05/kadai/19_yamauchi/main.js"
click node_r3f_scroll "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/11/r3f/src/App.jsx"
click node_gsap_particles "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/11/gsap/src/App.jsx"
click node_conference_page "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/12/lp/src/App.jsx"
click node_todo_app "https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/08/todo/src/App.jsx"
click node_ai_client "https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/04/server.js"
click node_gemini_service "https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/08/ai-server/server.js"
click node_game_ai "https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/07/ai-game-server/server.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_algorithm_sketches toneBlue
class node_markup_exercise,node_cms_theme,node_cms_templates,node_cms_functions toneAmber
class node_webgl_clock,node_network_demo,node_portfolio_demo,node_fugu_demo,node_r3f_scroll,node_gsap_particles,node_conference_page,node_todo_app toneMint
class node_ai_client,node_gemini_service,node_game_ai toneRose
class node_visitor,node_gemini_provider toneIndigo
```

## Components

### Creative coding

- [Algorithm sketches](https://github.com/takagino/tri-education/tree/main/wf1/1st/algorithm): `wf1/1st/algorithm`

### Web pages

- [Markup exercise](https://github.com/takagino/tri-education/blob/main/wf1/1st/markup-basics/19-mache/completed/script.js): `wf1/1st/markup-basics/19-mache/completed/script.js`
- [Completed CMS theme](https://github.com/takagino/tri-education/blob/main/wf1/2nd/cms/completed/index.php): `wf1/2nd/cms/completed/index.php`
- [CMS page templates](https://github.com/takagino/tri-education/tree/main/wf1/2nd/cms/completed): `wf1/2nd/cms/completed`
- [Theme functions](https://github.com/takagino/tri-education/blob/main/wf1/2nd/cms/completed/functions.php): `wf1/2nd/cms/completed/functions.php`

### 3D graphics

- [3D clock](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/05/clock/src/main.js): `ws1/1st/webgl/05/clock/src/main.js`
- [Particle network](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/07/network/src/main.js): `ws1/1st/webgl/07/network/src/main.js`
- [3D portfolio](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/07/portfolio/src/main.js): `ws1/1st/webgl/07/portfolio/src/main.js`
- [Fugu clock](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/05/kadai/19_yamauchi/main.js): `ws1/1st/webgl/05/kadai/19_yamauchi/main.js`
- [Scroll animations](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/11/r3f/src/App.jsx): `ws1/1st/webgl/11/r3f/src/App.jsx`
- [Animated particles](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/11/gsap/src/App.jsx): `ws1/1st/webgl/11/gsap/src/App.jsx`
- [Conference landing page](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/12/lp/src/App.jsx): `ws1/1st/webgl/12/lp/src/App.jsx`
- [Todo application](https://github.com/takagino/tri-education/blob/main/ws1/1st/webgl/08/todo/src/App.jsx): `ws1/1st/webgl/08/todo/src/App.jsx`

### AI experiments

- [Prompt client](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/04/server.js): `ws1/2nd/ai-content/04/server.js`
- [Gemini API service](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/08/ai-server/server.js): `ws1/2nd/ai-content/08/ai-server/server.js`
- [Game settings AI](https://github.com/takagino/tri-education/blob/main/ws1/2nd/ai-content/07/ai-game-server/server.js): `ws1/2nd/ai-content/07/ai-game-server/server.js`

### Other components

- **Page visitor**
- **Google Gemini**

## Connections

- Page visitor → Algorithm sketches: opens exercise
- Page visitor → Markup exercise: views page
- Page visitor → Completed CMS theme: views site
- Completed CMS theme → CMS page templates: renders templates
- Completed CMS theme → Theme functions: uses functions
- Page visitor → 3D clock: views scene
- Page visitor → Particle network: views scene
- Page visitor → 3D portfolio: views scene
- Page visitor → Fugu clock: views scene
- Page visitor → Scroll animations: scrolls page
- Page visitor → Animated particles: scrolls page
- Page visitor → Conference landing page: views page
- Page visitor → Todo application: uses app
- Page visitor → Prompt client: submits prompt
- Prompt client → Gemini API service: posts analysis request
- Page visitor → Gemini API service: submits prompt
- Gemini API service → Google Gemini: requests generation
- Page visitor → Game settings AI: submits prompt
- Game settings AI → Google Gemini: requests generation
