# apereznwo/pwa_demo_env_prod architecture

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

- Interactive diagram: https://gitdiagram.com/apereznwo/pwa_demo_env_prod
- Repository: https://github.com/apereznwo/pwa_demo_env_prod

## Overview

This is an Angular browser-based demo sandbox: users navigate a collection of interactive examples and receive visualizations, game behavior, generated files, or AI-assisted results. The principal workflow is browser navigation into a demo, then interaction with its feature UI and (where applicable) an engine or service. Fractal generation is the clearest sampled end-to-end path, with client/server selection, point adaptation, and image rendering. The README only links to the deployed app; broader feature coverage comes from the source tree, and unsampled wiring is intentionally not inferred.

Main entry points: [`src/app/app-routing.module.ts`](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/app-routing.module.ts) (Routes), [`src/app/_engines/fractal.engine.ts`](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_engines/fractal.engine.ts) (Fractal engine), [`src/app/_services/fractalService/fractalService.ts`](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/fractalService/fractalService.ts) (Fractal service), [`src/app/_services/__Utils/SearchService`](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__Utils/SearchService) (Search services)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Application shell"]
  node_app["Root component<br/>[app.component.ts]"]
  node_routing["Routes"]
  node_home["Home and navigation"]
  node_about["About and contact"]
end

subgraph group_interactive["Interactive demos"]
  node_demo_pages["Demo pages"]
  node_games["Games"]
  node_algorithms["Algorithms"]
  node_filegen["File generation"]
  node_fractal_ui["Fractal demo"]
  node_chat_ui["Chat demo<br/>[chat.component.ts]"]
  node_speech_ui["Speech panel"]
  node_search_ui["Search controls"]
end

subgraph group_compute["Engines and algorithms"]
  node_game_engines["Game engines"]
  node_draw_engine["Drawing engine<br/>[draw.engine.ts]"]
  node_fractal_engine["Fractal engine<br/>[fractal.engine.ts]"]
  node_algorithm_service["Algorithm service"]
end

subgraph group_services["Services and integrations"]
  node_backend["Backend service<br/>[backend.service.ts]"]
  node_fractal_service["Fractal service<br/>[fractalService.ts]"]
  node_search_service["Search services"]
  node_speech_service["Speech service<br/>[speech.service.ts]"]
  node_chat_service["Chat service<br/>[chat.service.ts]"]
  node_file_services["Document services"]
end

subgraph group_media["AI and media demos"]
  node_ai_demos["AI demos"]
  node_vision_demos["Vision and OCR demos"]
  node_ai_services["AI services"]
end

node_visitor(("Visitor"))
node_browser_canvas["Browser canvas"]
node_remote_backend{{"Remote backend"}}
node_fractal_server{{"Fractal server"}}

node_visitor -->|"opens"| node_home
node_visitor -->|"navigates"| node_routing
node_routing -->|"selects route"| node_home
node_routing -->|"selects route"| node_about
node_routing -->|"selects route"| node_demo_pages
node_app -->|"loads caches"| node_backend
node_app -->|"loads cache"| node_algorithm_service
node_fractal_ui -->|"requests image"| node_fractal_engine
node_fractal_engine -->|"selects server path"| node_fractal_service
node_fractal_engine -->|"renders points"| node_browser_canvas
node_fractal_service -.->|"requests points"| node_fractal_server
node_fractal_service -.->|"requests data"| node_remote_backend
node_games -->|"runs game logic"| node_game_engines
node_algorithms -->|"uses algorithms"| node_algorithm_service
node_algorithms -->|"draws visualizations"| node_draw_engine
node_filegen -->|"generates documents"| node_file_services
node_search_ui -->|"searches pages"| node_search_service
node_search_service -->|"loads data"| node_backend
node_search_service -->|"uses speech"| node_speech_service
node_speech_ui -->|"controls speech"| node_speech_service
node_chat_ui -->|"sends messages"| node_chat_service
node_ai_demos -->|"uses AI"| node_ai_services
node_vision_demos -->|"uses vision tools"| node_ai_services

click node_app "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/app.component.ts"
click node_routing "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/app-routing.module.ts"
click node_home "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/home"
click node_about "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/about"
click node_demo_pages "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures"
click node_games "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/games"
click node_algorithms "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/algorithm"
click node_filegen "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/files-generation"
click node_fractal_ui "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous/fractalDemo/fractalDemo.component.ts"
click node_chat_ui "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous/chat/chat/chat.component.ts"
click node_speech_ui "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_components/speech-panel/speech-panel.component.ts"
click node_search_ui "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_components/search/search.component.ts"
click node_game_engines "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_engines"
click node_draw_engine "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_engines/draw.engine.ts"
click node_fractal_engine "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_engines/fractal.engine.ts"
click node_algorithm_service "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/AlgorithmService/algorithm.service.ts"
click node_backend "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/BackendService/backend.service.ts"
click node_fractal_service "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/fractalService/fractalService.ts"
click node_search_service "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__Utils/SearchService"
click node_speech_service "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/__Utils/SpeechService/speech.service.ts"
click node_chat_service "https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/__Utils/ChatService/chat.service.ts"
click node_ai_demos "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/_machineLearning"
click node_vision_demos "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous"
click node_ai_services "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__AI"
click node_file_services "https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__FileGeneration"

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_app,node_routing,node_home,node_about,node_browser_canvas toneBlue
class node_demo_pages,node_games,node_algorithms,node_filegen,node_fractal_ui,node_chat_ui,node_speech_ui,node_search_ui toneAmber
class node_game_engines,node_draw_engine,node_fractal_engine,node_algorithm_service,node_fractal_server toneMint
class node_backend,node_fractal_service,node_search_service,node_speech_service,node_chat_service,node_file_services toneRose
class node_ai_demos,node_vision_demos,node_ai_services,node_visitor,node_remote_backend toneIndigo
```

## Components

### Application shell

- [Root component](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/app.component.ts): `src/app/app.component.ts`
- [Routes](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/app-routing.module.ts): `src/app/app-routing.module.ts`
- [Home and navigation](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/home): `src/app/_modules/home`
- [About and contact](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/about): `src/app/_modules/about`

### Interactive demos

- [Demo pages](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures): `src/app/_modules/_Demos/_DemosFeatures`
- [Games](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/games): `src/app/_modules/_Demos/_DemosFeatures/games`
- [Algorithms](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/algorithm): `src/app/_modules/_Demos/_DemosFeatures/algorithm`
- [File generation](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/files-generation): `src/app/_modules/_Demos/_DemosFeatures/files-generation`
- [Fractal demo](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous/fractalDemo/fractalDemo.component.ts): `src/app/_modules/_Demos/_DemosFeatures/miscelaneous/fractalDemo/fractalDemo.component.ts`
- [Chat demo](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous/chat/chat/chat.component.ts): `src/app/_modules/_Demos/_DemosFeatures/miscelaneous/chat/chat/chat.component.ts`
- [Speech panel](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_components/speech-panel/speech-panel.component.ts): `src/app/_components/speech-panel/speech-panel.component.ts`
- [Search controls](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_components/search/search.component.ts): `src/app/_components/search/search.component.ts`

### Engines and algorithms

- [Game engines](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_engines): `src/app/_engines`
- [Drawing engine](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_engines/draw.engine.ts): `src/app/_engines/draw.engine.ts`
- [Fractal engine](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_engines/fractal.engine.ts): `src/app/_engines/fractal.engine.ts`
- [Algorithm service](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/AlgorithmService/algorithm.service.ts): `src/app/_services/AlgorithmService/algorithm.service.ts`

### Services and integrations

- [Backend service](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/BackendService/backend.service.ts): `src/app/_services/BackendService/backend.service.ts`
- [Fractal service](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/fractalService/fractalService.ts): `src/app/_services/fractalService/fractalService.ts`
- [Search services](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__Utils/SearchService): `src/app/_services/__Utils/SearchService`
- [Speech service](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/__Utils/SpeechService/speech.service.ts): `src/app/_services/__Utils/SpeechService/speech.service.ts`
- [Chat service](https://github.com/apereznwo/pwa_demo_env_prod/blob/main/src/app/_services/__Utils/ChatService/chat.service.ts): `src/app/_services/__Utils/ChatService/chat.service.ts`
- [Document services](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__FileGeneration): `src/app/_services/__FileGeneration`

### AI and media demos

- [AI demos](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/_machineLearning): `src/app/_modules/_Demos/_DemosFeatures/_machineLearning`
- [Vision and OCR demos](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_modules/_Demos/_DemosFeatures/miscelaneous): `src/app/_modules/_Demos/_DemosFeatures/miscelaneous`
- [AI services](https://github.com/apereznwo/pwa_demo_env_prod/tree/main/src/app/_services/__AI): `src/app/_services/__AI`

### Other components

- **Visitor**
- **Browser canvas**
- **Remote backend**
- **Fractal server**

## Connections

- Visitor → Home and navigation: opens
- Visitor → Routes: navigates
- Routes → Home and navigation: selects route
- Routes → About and contact: selects route
- Routes → Demo pages: selects route
- Root component → Backend service: loads caches
- Root component → Algorithm service: loads cache
- Fractal demo → Fractal engine: requests image
- Fractal engine → Fractal service: selects server path
- Fractal engine → Browser canvas: renders points
- Fractal service → Fractal server: requests points
- Fractal service → Remote backend: requests data
- Games → Game engines: runs game logic
- Algorithms → Algorithm service: uses algorithms
- Algorithms → Drawing engine: draws visualizations
- File generation → Document services: generates documents
- Search controls → Search services: searches pages
- Search services → Backend service: loads data
- Search services → Speech service: uses speech
- Speech panel → Speech service: controls speech
- Chat demo → Chat service: sends messages
- AI demos → AI services: uses AI
- Vision and OCR demos → AI services: uses vision tools
