# zak-02/projects architecture

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

- Interactive diagram: https://gitdiagram.com/zak-02/projects
- Repository: https://github.com/zak-02/projects

## Overview

This repository is a collection of standalone web pages and small Python projects, not one integrated application. Its visible workflows include browser-based pages, interactive games, an alarm that plays a sound, and AI-assisted image generation and Snake control. The contract-summary and emotion-detection directories are represented as projects, but their implementation was not provided; the HTML pages are likewise unsampled. The shown edges are limited to calls visible in the excerpts.

Main entry points: [`Python/Python/rock paper scissors/chatgpt plays snake.py`](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/chatgpt%20plays%20snake.py) (AI Snake game), [`Python/Python/rock paper scissors/generate a random quote image.py`](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/generate%20a%20random%20quote%20image.py) (Quote image generator), [`Python/alarm_program/alarm.py`](https://github.com/zak-02/projects/blob/main/Python/alarm_program/alarm.py) (Alarm program), [`HTML/_cat/index.html`](https://github.com/zak-02/projects/blob/main/HTML/_cat/index.html) (Cat page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web pages"]
  node_cat_page["Cat page<br/>[index.html]"]
  node_coffee_page["Coffee page<br/>[index.html]"]
  node_recipe_page["Recipe page<br/>[index.html]"]
end

subgraph group_games["Python games"]
  node_rps["Rock paper scissors"]
  node_pokemon["Pokemon battle<br/>[pokemon.py]"]
  node_snake["AI Snake game"]
end

subgraph group_tools["Python tools"]
  node_quote_image["Quote image generator"]
  node_alarm["Alarm program<br/>[alarm.py]"]
  node_contract_summary["Contract summary"]
  node_emotion_detection["Emotion detection"]
end

node_visitor(("Browser visitor"))
node_openai_chat["OpenAI chat API"]
node_openai_images["OpenAI image API"]
node_sound_file["Alarm sound<br/>[alarm_sound.mp3]"]

node_visitor -.->|"opens"| node_cat_page
node_visitor -.->|"opens"| node_coffee_page
node_visitor -.->|"opens"| node_recipe_page
node_visitor -.->|"plays"| node_rps
node_visitor -.->|"plays"| node_pokemon
node_visitor -.->|"starts"| node_snake
node_visitor -->|"sets time"| node_alarm
node_visitor -.->|"runs"| node_quote_image
node_snake -->|"requests moves"| node_openai_chat
node_quote_image -->|"generates image"| node_openai_images
node_alarm -->|"plays at alarm"| node_sound_file

click node_cat_page "https://github.com/zak-02/projects/blob/main/HTML/_cat/index.html"
click node_coffee_page "https://github.com/zak-02/projects/blob/main/HTML/_coffee/index.html"
click node_recipe_page "https://github.com/zak-02/projects/blob/main/HTML/recipe/index.html"
click node_rps "https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/rock_paper_scissors.py"
click node_pokemon "https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/pokemon.py"
click node_snake "https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/chatgpt%20plays%20snake.py"
click node_quote_image "https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/generate%20a%20random%20quote%20image.py"
click node_alarm "https://github.com/zak-02/projects/blob/main/Python/alarm_program/alarm.py"
click node_contract_summary "https://github.com/zak-02/projects/tree/main/Python/contract%20summary%20with%20chatgpt"
click node_emotion_detection "https://github.com/zak-02/projects/tree/main/Python/emotion_detection"
click node_sound_file "https://github.com/zak-02/projects/blob/main/Python/alarm_program/alarm_sound.mp3"

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_cat_page,node_coffee_page,node_recipe_page,node_visitor toneBlue
class node_rps,node_pokemon,node_snake toneAmber
class node_quote_image,node_alarm,node_contract_summary,node_emotion_detection,node_openai_chat,node_openai_images toneMint
class node_sound_file toneTeal
```

## Components

### Web pages

- [Cat page](https://github.com/zak-02/projects/blob/main/HTML/_cat/index.html): `HTML/_cat/index.html`
- [Coffee page](https://github.com/zak-02/projects/blob/main/HTML/_coffee/index.html): `HTML/_coffee/index.html`
- [Recipe page](https://github.com/zak-02/projects/blob/main/HTML/recipe/index.html): `HTML/recipe/index.html`

### Python games

- [Rock paper scissors](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/rock_paper_scissors.py): `Python/Python/rock paper scissors/rock_paper_scissors.py`
- [Pokemon battle](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/pokemon.py): `Python/Python/rock paper scissors/pokemon.py`
- [AI Snake game](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/chatgpt%20plays%20snake.py): `Python/Python/rock paper scissors/chatgpt plays snake.py`

### Python tools

- [Quote image generator](https://github.com/zak-02/projects/blob/main/Python/Python/rock%20paper%20scissors/generate%20a%20random%20quote%20image.py): `Python/Python/rock paper scissors/generate a random quote image.py`
- [Alarm program](https://github.com/zak-02/projects/blob/main/Python/alarm_program/alarm.py): `Python/alarm_program/alarm.py`
- [Contract summary](https://github.com/zak-02/projects/tree/main/Python/contract%20summary%20with%20chatgpt): `Python/contract summary with chatgpt`
- [Emotion detection](https://github.com/zak-02/projects/tree/main/Python/emotion_detection): `Python/emotion_detection`

### Other components

- **Browser visitor**
- **OpenAI chat API**
- **OpenAI image API**
- [Alarm sound](https://github.com/zak-02/projects/blob/main/Python/alarm_program/alarm_sound.mp3): `Python/alarm_program/alarm_sound.mp3`

## Connections

- Browser visitor → Cat page: opens
- Browser visitor → Coffee page: opens
- Browser visitor → Recipe page: opens
- Browser visitor → Rock paper scissors: plays
- Browser visitor → Pokemon battle: plays
- Browser visitor → AI Snake game: starts
- Browser visitor → Alarm program: sets time (evidence: `Python/alarm_program/alarm.py`)
- Browser visitor → Quote image generator: runs
- AI Snake game → OpenAI chat API: requests moves (evidence: `Python/Python/rock paper scissors/chatgpt plays snake.py`)
- Quote image generator → OpenAI image API: generates image (evidence: `Python/Python/rock paper scissors/generate a random quote image.py`)
- Alarm program → Alarm sound: plays at alarm (evidence: `Python/alarm_program/alarm.py`)
