# tomasmunzarwork-prog/moje-weby architecture

> Architecture diagram of the GitHub repository tomasmunzarwork-prog/moje-weby, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tomasmunzarwork-prog/moje-weby
- Repository: https://github.com/tomasmunzarwork-prog/moje-weby

## Overview

The repository contains two static websites: the documented Autotransport Němeček & synové proposal and a separate garden-services site. The transport workflow lets visitors explore vehicle capacities, prepare and review a local quote summary, and copy it; the summary is not sent or stored. The garden contact script similarly prepares a message for copying or, when configured, email. Relationships for the transport page and styling rely on the README; the garden page’s wiring and capabilities beyond the sampled script are not verified.

Main entry points: [`app.js`](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js) (Quote form), [`zahrada-na-miru/kontakt.js`](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js) (Contact details), [`index.html`](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/index.html) (Transport page), [`zahrada-na-miru/index.html`](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/index.html) (Garden page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_transport["Transport website"]
  node_transport_page["Transport page<br/>[index.html]"]
  node_transport_styles["Transport styling<br/>[style.css]"]
  node_vehicle_picker["Vehicle selection<br/>[app.js]"]
  node_fleet_data["Fleet details<br/>[app.js]"]
end

subgraph group_quote["Quote preparation"]
  node_quote_form["Quote form<br/>[app.js]"]
  node_quote_validation["Quote validation<br/>[app.js]"]
  node_quote_summary["Quote summary<br/>[app.js]"]
  node_copy_quote["Copy summary<br/>[app.js]"]
  node_model_tools["Model tools<br/>[app.js]"]
end

subgraph group_garden["Garden website"]
  node_garden_page["Garden page<br/>[index.html]"]
  node_garden_styles["Garden styling<br/>[style.css]"]
  node_garden_contact["Contact details<br/>[kontakt.js]"]
  node_garden_form["Request form<br/>[kontakt.js]"]
  node_garden_message["Message preview<br/>[kontakt.js]"]
end

node_visitor(("Visitor"))
node_email_client(("Email client"))
node_clipboard(("Device clipboard"))

node_visitor -->|"visits"| node_transport_page
node_transport_page -->|"uses styles"| node_transport_styles
node_transport_page -->|"uses controls"| node_vehicle_picker
node_vehicle_picker -->|"displays details"| node_fleet_data
node_visitor -->|"submits details"| node_quote_form
node_quote_form -->|"validates input"| node_quote_validation
node_quote_form -->|"renders summary"| node_quote_summary
node_quote_form -->|"resets preview"| node_quote_form
node_model_tools -->|"selects vehicle"| node_vehicle_picker
node_model_tools -->|"validates quote"| node_quote_validation
node_model_tools -->|"prepares summary"| node_quote_summary
node_copy_quote -->|"reads text"| node_quote_summary
node_copy_quote -->|"copies text"| node_clipboard
node_visitor -.->|"visits"| node_garden_page
node_garden_page -.->|"uses styles"| node_garden_styles
node_garden_page -.->|"uses script"| node_garden_contact
node_visitor -->|"submits details"| node_garden_form
node_garden_form -->|"prepares message"| node_garden_message
node_garden_contact -->|"opens email"| node_email_client
node_garden_contact -->|"copies message"| node_garden_message
node_garden_contact -->|"copies text"| node_clipboard

click node_transport_page "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/index.html"
click node_transport_styles "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/style.css"
click node_vehicle_picker "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_fleet_data "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_quote_form "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_quote_validation "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_quote_summary "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_copy_quote "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_model_tools "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js"
click node_garden_page "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/index.html"
click node_garden_styles "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/style.css"
click node_garden_contact "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js"
click node_garden_form "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js"
click node_garden_message "https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.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_transport_page,node_transport_styles,node_vehicle_picker,node_fleet_data,node_email_client toneBlue
class node_quote_form,node_quote_validation,node_quote_summary,node_copy_quote,node_model_tools toneAmber
class node_garden_page,node_garden_styles,node_garden_contact,node_garden_form,node_garden_message toneMint
class node_visitor,node_clipboard toneIndigo
```

## Components

### Transport website

- [Transport page](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/index.html): `index.html`
- [Transport styling](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/style.css): `style.css`
- [Vehicle selection](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`
- [Fleet details](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`

### Quote preparation

- [Quote form](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`
- [Quote validation](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`
- [Quote summary](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`
- [Copy summary](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`
- [Model tools](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/app.js): `app.js`

### Garden website

- [Garden page](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/index.html): `zahrada-na-miru/index.html`
- [Garden styling](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/style.css): `zahrada-na-miru/style.css`
- [Contact details](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js): `zahrada-na-miru/kontakt.js`
- [Request form](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js): `zahrada-na-miru/kontakt.js`
- [Message preview](https://github.com/tomasmunzarwork-prog/moje-weby/blob/main/zahrada-na-miru/kontakt.js): `zahrada-na-miru/kontakt.js`

### Other components

- **Visitor**
- **Email client**
- **Device clipboard**

## Connections

- Visitor → Transport page: visits (evidence: `README.md`)
- Transport page → Transport styling: uses styles (evidence: `README.md`)
- Transport page → Vehicle selection: uses controls (evidence: `README.md`)
- Vehicle selection → Fleet details: displays details (evidence: `app.js`)
- Visitor → Quote form: submits details (evidence: `app.js`)
- Quote form → Quote validation: validates input (evidence: `app.js`)
- Quote form → Quote summary: renders summary (evidence: `app.js`)
- Quote form → Quote form: resets preview (evidence: `app.js`)
- Model tools → Vehicle selection: selects vehicle (evidence: `app.js`)
- Model tools → Quote validation: validates quote (evidence: `app.js`)
- Model tools → Quote summary: prepares summary (evidence: `app.js`)
- Copy summary → Quote summary: reads text (evidence: `app.js`)
- Copy summary → Device clipboard: copies text (evidence: `app.js`)
- Visitor → Garden page: visits
- Garden page → Garden styling: uses styles
- Garden page → Contact details: uses script
- Visitor → Request form: submits details (evidence: `zahrada-na-miru/kontakt.js`)
- Request form → Message preview: prepares message (evidence: `zahrada-na-miru/kontakt.js`)
- Contact details → Email client: opens email (evidence: `zahrada-na-miru/kontakt.js`)
- Contact details → Message preview: copies message (evidence: `zahrada-na-miru/kontakt.js`)
- Contact details → Device clipboard: copies text (evidence: `zahrada-na-miru/kontakt.js`)
