# sunnydelicieux/https-izmir.sunnydelicieux architecture

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

## Overview

This is a static, French-language role-playing community site: visitors browse campaign information and character lore, explore art and stories, and use interactive pages such as a calendar and dialogue scenes. The tree also shows blog and journal content. Source excerpts confirm the calendar’s Supabase-backed login, profile lookup, event visibility and rendering; the Elysium conversation fetch; the Inga room’s dialogue handling; and gallery filtering. Other page relationships are not asserted because their wiring was not sampled.

Main entry points: [`SITE/CALENDAR/calendar.js`](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/SITE/CALENDAR/calendar.js) (Event calendar), [`WIKI/index.html`](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/WIKI/index.html) (Character wiki), [`GALLERIE/gallery.js`](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/GALLERIE/gallery.js) (Art gallery), [`ELYSIUM/index.html`](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/ELYSIUM/index.html) (Elysium scene)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_site["Campaign site"]
  node_home["Site home<br/>[index.html]"]
  node_factions["Factions<br/>[index.html]"]
  node_worldsystems["World systems"]
  node_creation["Creation guides"]
  node_organisation["Organisation"]
  node_tools["Player tools"]
  node_calendar["Event calendar<br/>[calendar.js]"]
end

subgraph group_reference["Lore and gallery"]
  node_wiki["Character wiki<br/>[index.html]"]
  node_wiki_nav["Wiki navigation<br/>[nav.js]"]
  node_character_pages["Character pages"]
  node_gallery["Art gallery<br/>[gallery.js]"]
  node_gallery_data["Gallery records<br/>[gallery-data.js]"]
end

subgraph group_interactive["Interactive scenes"]
  node_elysium["Elysium scene<br/>[index.html]"]
  node_elysium_runtime["Daily dialogue<br/>[script.js]"]
  node_inga_scene["Inga room<br/>[inga.html]"]
  node_inga_runtime["Room interactions<br/>[room.js]"]
  node_dialogues["Dialogue content<br/>[dialogues.js]"]
end

subgraph group_community["Community content"]
  node_blog["Blog<br/>[index.html]"]
  node_journal["Journal<br/>[index.html]"]
end

node_visitor(("Visitor"))
node_player(("Signed-in player"))
node_supabase[("Supabase")]
node_daily_rpc["Daily conversation RPC"]

node_visitor -->|"opens"| node_home
node_visitor -->|"browses"| node_factions
node_visitor -->|"browses"| node_worldsystems
node_visitor -->|"browses"| node_creation
node_visitor -->|"browses"| node_organisation
node_visitor -->|"uses"| node_tools
node_visitor -->|"views"| node_calendar
node_player -->|"signs in"| node_calendar
node_calendar -->|"loads events"| node_supabase
node_calendar -->|"authenticates"| node_supabase
node_calendar -->|"loads profile"| node_supabase
node_visitor -->|"browses"| node_wiki
node_wiki -->|"renders navigation"| node_wiki_nav
node_visitor -->|"reads"| node_character_pages
node_visitor -->|"explores"| node_gallery
node_gallery -->|"filters records"| node_gallery_data
node_visitor -->|"opens"| node_elysium
node_elysium -->|"runs"| node_elysium_runtime
node_elysium_runtime -->|"requests dialogue"| node_daily_rpc
node_daily_rpc -->|"reads daily data"| node_supabase
node_visitor -->|"opens"| node_inga_scene
node_inga_scene -->|"runs"| node_inga_runtime
node_inga_runtime -->|"reads dialogue"| node_dialogues
node_visitor -->|"reads"| node_blog
node_visitor -->|"reads"| node_journal

click node_home "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/index.html"
click node_factions "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/SITE/FACTIONS/index.html"
click node_worldsystems "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/SYSTEME"
click node_creation "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/CREATION"
click node_organisation "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/ORGANISATION"
click node_tools "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/OUTILS"
click node_calendar "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/SITE/CALENDAR/calendar.js"
click node_wiki "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/WIKI/index.html"
click node_wiki_nav "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/WIKI/nav.js"
click node_character_pages "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/WIKI"
click node_gallery "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/GALLERIE/gallery.js"
click node_gallery_data "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/GALLERIE/gallery-data.js"
click node_elysium "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/ELYSIUM/index.html"
click node_elysium_runtime "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/ELYSIUM/script.js"
click node_inga_scene "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/inga.html"
click node_inga_runtime "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/room.js"
click node_dialogues "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/dialogues.js"
click node_blog "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/newblog/index.html"
click node_journal "https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/JOURNAL/index.html"

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_home,node_factions,node_worldsystems,node_creation,node_organisation,node_tools,node_calendar toneBlue
class node_wiki,node_wiki_nav,node_character_pages,node_gallery,node_gallery_data,node_supabase toneAmber
class node_elysium,node_elysium_runtime,node_inga_scene,node_inga_runtime,node_dialogues toneMint
class node_blog,node_journal toneRose
class node_visitor,node_player,node_daily_rpc toneIndigo
```

## Components

### Campaign site

- [Site home](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/index.html): `index.html`
- [Factions](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/SITE/FACTIONS/index.html): `SITE/FACTIONS/index.html`
- [World systems](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/SYSTEME): `SITE/SYSTEME`
- [Creation guides](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/CREATION): `SITE/CREATION`
- [Organisation](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/ORGANISATION): `SITE/ORGANISATION`
- [Player tools](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/SITE/OUTILS): `SITE/OUTILS`
- [Event calendar](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/SITE/CALENDAR/calendar.js): `SITE/CALENDAR/calendar.js`

### Lore and gallery

- [Character wiki](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/WIKI/index.html): `WIKI/index.html`
- [Wiki navigation](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/WIKI/nav.js): `WIKI/nav.js`
- [Character pages](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/tree/main/WIKI): `WIKI`
- [Art gallery](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/GALLERIE/gallery.js): `GALLERIE/gallery.js`
- [Gallery records](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/GALLERIE/gallery-data.js): `GALLERIE/gallery-data.js`

### Interactive scenes

- [Elysium scene](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/ELYSIUM/index.html): `ELYSIUM/index.html`
- [Daily dialogue](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/ELYSIUM/script.js): `ELYSIUM/script.js`
- [Inga room](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/inga.html): `INGA/inga.html`
- [Room interactions](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/room.js): `INGA/room.js`
- [Dialogue content](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/INGA/dialogues.js): `INGA/dialogues.js`

### Community content

- [Blog](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/newblog/index.html): `newblog/index.html`
- [Journal](https://github.com/sunnydelicieux/https-izmir.sunnydelicieux/blob/main/JOURNAL/index.html): `JOURNAL/index.html`

### Other components

- **Visitor**
- **Signed-in player**
- **Supabase**
- **Daily conversation RPC**

## Connections

- Visitor → Site home: opens
- Visitor → Factions: browses
- Visitor → World systems: browses
- Visitor → Creation guides: browses
- Visitor → Organisation: browses
- Visitor → Player tools: uses
- Visitor → Event calendar: views
- Signed-in player → Event calendar: signs in
- Event calendar → Supabase: loads events
- Event calendar → Supabase: authenticates
- Event calendar → Supabase: loads profile
- Visitor → Character wiki: browses
- Character wiki → Wiki navigation: renders navigation
- Visitor → Character pages: reads
- Visitor → Art gallery: explores
- Art gallery → Gallery records: filters records
- Visitor → Elysium scene: opens
- Elysium scene → Daily dialogue: runs
- Daily dialogue → Daily conversation RPC: requests dialogue
- Daily conversation RPC → Supabase: reads daily data
- Visitor → Inga room: opens
- Inga room → Room interactions: runs
- Room interactions → Dialogue content: reads dialogue
- Visitor → Blog: reads
- Visitor → Journal: reads
