# nebur87/web_fisio architecture

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

- Interactive diagram: https://gitdiagram.com/nebur87/web_fisio
- Repository: https://github.com/nebur87/web_fisio

## Overview

web-fisio is a public website for a physiotherapy clinic. The documented visitor journey is to explore clinic services and team information, then make a reservation or get in touch. The sampled JavaScript adds carousel, section-navigation, responsive-menu, and booking interactions; booking checks availability and submits reservations to a locally addressed HTTP service. The README also mentions an admin page, but its behavior and connections are not evidenced by the sampled source, so it is not mapped. The tree and excerpts do not establish the service implementation.

Main entry points: [`index.html`](https://github.com/nebur87/web_fisio/blob/main/index.html) (Clinic site), [`js/script.js`](https://github.com/nebur87/web_fisio/blob/main/js/script.js) (Reservation submit)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_public["Clinic website"]
  node_site["Clinic site<br/>[index.html]"]
  node_services["Services<br/>[index.html]"]
  node_team["Clinic team<br/>[index.html]"]
  node_contact["Contact<br/>[index.html]"]
end

subgraph group_interaction["Page interactions"]
  node_carousel["Image carousel<br/>[script.js]"]
  node_navigation["Section navigation<br/>[script.js]"]
  node_menu["Responsive menu<br/>[script.js]"]
end

subgraph group_booking["Booking integration"]
  node_reservation["Reservation form<br/>[index.html]"]
  node_availability["Availability check<br/>[script.js]"]
  node_reservation_submit["Reservation submit<br/>[script.js]"]
end

node_visitor(("Visitor"))
node_booking_service{{"Booking HTTP service"}}

node_visitor -->|"visits"| node_site
node_site -->|"presents"| node_services
node_site -->|"presents"| node_team
node_site -->|"presents"| node_contact
node_site -->|"presents"| node_reservation
node_site -->|"initializes"| node_carousel
node_site -->|"tracks scroll"| node_navigation
node_site -->|"handles clicks"| node_menu
node_visitor -->|"enters details"| node_reservation
node_reservation -->|"updates times"| node_availability
node_availability -->|"fetches occupied times"| node_booking_service
node_booking_service -->|"returns times"| node_availability
node_reservation -->|"submits"| node_reservation_submit
node_reservation_submit -->|"posts booking"| node_booking_service
node_booking_service -->|"returns result"| node_reservation_submit
node_reservation_submit -->|"shows outcome"| node_visitor

click node_site "https://github.com/nebur87/web_fisio/blob/main/index.html"
click node_services "https://github.com/nebur87/web_fisio/blob/main/index.html"
click node_team "https://github.com/nebur87/web_fisio/blob/main/index.html"
click node_contact "https://github.com/nebur87/web_fisio/blob/main/index.html"
click node_carousel "https://github.com/nebur87/web_fisio/blob/main/js/script.js"
click node_navigation "https://github.com/nebur87/web_fisio/blob/main/js/script.js"
click node_menu "https://github.com/nebur87/web_fisio/blob/main/js/script.js"
click node_reservation "https://github.com/nebur87/web_fisio/blob/main/index.html"
click node_availability "https://github.com/nebur87/web_fisio/blob/main/js/script.js"
click node_reservation_submit "https://github.com/nebur87/web_fisio/blob/main/js/script.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_site,node_services,node_team,node_contact toneBlue
class node_carousel,node_navigation,node_menu toneAmber
class node_reservation,node_availability,node_reservation_submit toneMint
class node_visitor,node_booking_service toneIndigo
```

## Components

### Clinic website

- [Clinic site](https://github.com/nebur87/web_fisio/blob/main/index.html): `index.html`
- [Services](https://github.com/nebur87/web_fisio/blob/main/index.html): `index.html`
- [Clinic team](https://github.com/nebur87/web_fisio/blob/main/index.html): `index.html`
- [Contact](https://github.com/nebur87/web_fisio/blob/main/index.html): `index.html`

### Page interactions

- [Image carousel](https://github.com/nebur87/web_fisio/blob/main/js/script.js): `js/script.js`
- [Section navigation](https://github.com/nebur87/web_fisio/blob/main/js/script.js): `js/script.js`
- [Responsive menu](https://github.com/nebur87/web_fisio/blob/main/js/script.js): `js/script.js`

### Booking integration

- [Reservation form](https://github.com/nebur87/web_fisio/blob/main/index.html): `index.html`
- [Availability check](https://github.com/nebur87/web_fisio/blob/main/js/script.js): `js/script.js`
- [Reservation submit](https://github.com/nebur87/web_fisio/blob/main/js/script.js): `js/script.js`

### Other components

- **Visitor**
- **Booking HTTP service**

## Connections

- Visitor → Clinic site: visits
- Clinic site → Services: presents
- Clinic site → Clinic team: presents
- Clinic site → Contact: presents
- Clinic site → Reservation form: presents
- Clinic site → Image carousel: initializes
- Clinic site → Section navigation: tracks scroll
- Clinic site → Responsive menu: handles clicks
- Visitor → Reservation form: enters details
- Reservation form → Availability check: updates times
- Availability check → Booking HTTP service: fetches occupied times
- Booking HTTP service → Availability check: returns times
- Reservation form → Reservation submit: submits
- Reservation submit → Booking HTTP service: posts booking
- Booking HTTP service → Reservation submit: returns result
- Reservation submit → Visitor: shows outcome
