# gunthermart/80s-green-screen-os-simulator architecture

> Architecture diagram of the GitHub repository gunthermart/80s-green-screen-os-simulator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/gunthermart/80s-green-screen-os-simulator
- Repository: https://github.com/gunthermart/80s-green-screen-os-simulator

## Overview

This repository combines a React-based equity terminal, several Netlify serverless endpoints, and a large collection of separately hosted browser apps. The sampled terminal code supports an interactive market dashboard with visualizations; the sampled market-data function aggregates several external indicators. Other app pages and function implementations are not sampled, so their roles are identified only as far as their paths and names allow, and no unverified wiring between them is shown.

Main entry points: [`src/main.jsx`](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/main.jsx) (React entry), [`src/App.jsx`](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/App.jsx) (Terminal dashboard), [`netlify/functions/marketDataCollector.cjs`](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/marketDataCollector.cjs) (Market data collector), [`netlify/functions/IPTV.cjs`](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/IPTV.cjs) (IPTV proxy)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_terminal["Equity terminal"]
  node_react_entry["React entry<br/>[main.jsx]"]
  node_terminal_ui["Terminal dashboard<br/>[App.jsx]"]
  node_market_visuals["Market visualizations<br/>[App.jsx]"]
end

subgraph group_functions["Serverless endpoints"]
  node_market_collector["Market data collector"]
  node_iptv_proxy["IPTV proxy<br/>[IPTV.cjs]"]
  node_gemini_proxy["Gemini proxy<br/>[ProxyGemini.cjs]"]
  node_other_functions["Other API functions"]
end

subgraph group_apps["Standalone apps"]
  node_productivity["Productivity tools"]
  node_games["Games and puzzles"]
  node_maps["Mapping apps"]
  node_finance_tools["Finance tools"]
  node_creative_apps["Creative apps"]
  node_chess_worker["Chess engine worker<br/>[worker.js]"]
  node_sudoku_app["Sudoku app<br/>[index.html]"]
  node_sudoku_cache["Sudoku offline cache<br/>[service-worker.js]"]
end

subgraph group_media["Media experiences"]
  node_aquarium["Aquarium experience<br/>[index.html]"]
  node_fish_models["Fish model assets"]
  node_video_experiences["Tamagotchi videos"]
end

node_visitor(("Visitor"))
node_market_sources["Market data providers"]
node_tv_streams["TV and radio streams"]
node_gemini_service["Gemini API"]
node_stockfish["Stockfish CDN"]

node_visitor -->|"opens terminal"| node_react_entry
node_react_entry -->|"renders"| node_terminal_ui
node_terminal_ui -->|"renders"| node_market_visuals
node_market_collector -->|"fetches indicators"| node_market_sources
node_visitor -->|"requests data"| node_market_collector
node_visitor -->|"requests stream"| node_iptv_proxy
node_iptv_proxy -->|"fetches stream"| node_tv_streams
node_visitor -->|"submits prompt"| node_gemini_proxy
node_gemini_proxy -->|"requests generation"| node_gemini_service
node_visitor -.->|"uses endpoint"| node_other_functions
node_visitor -->|"opens app"| node_productivity
node_visitor -->|"opens app"| node_games
node_visitor -->|"opens app"| node_maps
node_visitor -->|"opens app"| node_finance_tools
node_visitor -->|"opens app"| node_creative_apps
node_visitor -->|"plays chess"| node_chess_worker
node_chess_worker -->|"loads engine"| node_stockfish
node_visitor -->|"plays sudoku"| node_sudoku_app
node_sudoku_app -->|"registers worker"| node_sudoku_cache
node_visitor -->|"opens experience"| node_aquarium
node_aquarium -.->|"loads models"| node_fish_models
node_visitor -->|"views videos"| node_video_experiences

click node_react_entry "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/main.jsx"
click node_terminal_ui "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/App.jsx"
click node_market_visuals "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/App.jsx"
click node_market_collector "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/marketDataCollector.cjs"
click node_iptv_proxy "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/IPTV.cjs"
click node_gemini_proxy "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/ProxyGemini.cjs"
click node_other_functions "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/netlify/functions"
click node_productivity "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public"
click node_games "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public"
click node_maps "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public"
click node_finance_tools "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public"
click node_creative_apps "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public"
click node_chess_worker "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/chess/worker.js"
click node_sudoku_app "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/sudoku/index.html"
click node_sudoku_cache "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/sudoku/service-worker.js"
click node_aquarium "https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/aquarium/index.html"
click node_fish_models "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public/aquarium/fish"
click node_video_experiences "https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/Tamagotchi%20-%20Copie"

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_react_entry,node_terminal_ui,node_market_visuals toneBlue
class node_market_collector,node_iptv_proxy,node_gemini_proxy,node_other_functions toneAmber
class node_productivity,node_games,node_maps,node_finance_tools,node_creative_apps,node_chess_worker,node_sudoku_app,node_sudoku_cache,node_gemini_service toneMint
class node_aquarium,node_fish_models,node_video_experiences toneRose
class node_visitor,node_market_sources,node_tv_streams,node_stockfish toneIndigo
```

## Components

### Equity terminal

- [React entry](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/main.jsx): `src/main.jsx`
- [Terminal dashboard](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/App.jsx): `src/App.jsx`
- [Market visualizations](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/src/App.jsx): `src/App.jsx`

### Serverless endpoints

- [Market data collector](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/marketDataCollector.cjs): `netlify/functions/marketDataCollector.cjs`
- [IPTV proxy](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/IPTV.cjs): `netlify/functions/IPTV.cjs`
- [Gemini proxy](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/netlify/functions/ProxyGemini.cjs): `netlify/functions/ProxyGemini.cjs`
- [Other API functions](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/netlify/functions): `netlify/functions`

### Standalone apps

- [Productivity tools](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public): `public`
- [Games and puzzles](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public): `public`
- [Mapping apps](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public): `public`
- [Finance tools](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public): `public`
- [Creative apps](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public): `public`
- [Chess engine worker](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/chess/worker.js): `public/chess/worker.js`
- [Sudoku app](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/sudoku/index.html): `public/sudoku/index.html`
- [Sudoku offline cache](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/sudoku/service-worker.js): `public/sudoku/service-worker.js`

### Media experiences

- [Aquarium experience](https://github.com/gunthermart/80s-green-screen-os-simulator/blob/main/public/aquarium/index.html): `public/aquarium/index.html`
- [Fish model assets](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/public/aquarium/fish): `public/aquarium/fish`
- [Tamagotchi videos](https://github.com/gunthermart/80s-green-screen-os-simulator/tree/main/Tamagotchi%20-%20Copie): `Tamagotchi - Copie`

### Other components

- **Visitor**
- **Market data providers**
- **TV and radio streams**
- **Gemini API**
- **Stockfish CDN**

## Connections

- Visitor → React entry: opens terminal
- React entry → Terminal dashboard: renders
- Terminal dashboard → Market visualizations: renders
- Market data collector → Market data providers: fetches indicators
- Visitor → Market data collector: requests data
- Visitor → IPTV proxy: requests stream
- IPTV proxy → TV and radio streams: fetches stream
- Visitor → Gemini proxy: submits prompt
- Gemini proxy → Gemini API: requests generation
- Visitor → Other API functions: uses endpoint
- Visitor → Productivity tools: opens app
- Visitor → Games and puzzles: opens app
- Visitor → Mapping apps: opens app
- Visitor → Finance tools: opens app
- Visitor → Creative apps: opens app
- Visitor → Chess engine worker: plays chess
- Chess engine worker → Stockfish CDN: loads engine
- Visitor → Sudoku app: plays sudoku
- Sudoku app → Sudoku offline cache: registers worker
- Visitor → Aquarium experience: opens experience
- Aquarium experience → Fish model assets: loads models
- Visitor → Tamagotchi videos: views videos
