Zum Inhalt

Frontend Dokumentation

Das Frontend ist eine Single Page Application (SPA), die mit Angular 19 erstellt und mit PrimeNG gestaltet wurde.

weather-app/
├── src/
│   ├── app/
│   │   ├── data-view-page/       # Main container component
│   │   ├── map-view/             # Leaflet map component
│   │   ├── settings-configuration/# Search & filter form
│   │   ├── pop-up-display/       # Chart popup component
│   │   ├── loading-screen/       # Global loading indicator
│   │   └── weather-api.service.ts# HTTP client service
│   └── styles.css                # Global styles

Architektur & Ablauf

graph TD
    User((User)) -->|Start| App[Web App]

    %% Main Loop
    App -->|Zeigt| Map[Karte & Filter]
    User -->|Interaktion| Map

    Map -->|Anfrage| API[Backend]
    API -->|Daten| Map

    %% Detail Flow
    Map -->|Klick auf Station| Popup[Detailansicht]
    Popup -->|Lade Historie| API
    API -->|Wetterdaten| Popup

State Management

Die Anwendung nutzt Angular Signals für reaktives State Management.

StationUiStateService

Fungiert als zentrale "Source of Truth" (Wahrheitsquelle) für: * Karten-Geometrie: Der aktuelle Suchradius und die Position des zentralen Pins. * Ergebnis-Sammlung: Die Liste der Stationen, die bei der räumlichen Suche gefunden wurden. * Kontextuelle Auswahl: Die aktuell aktive Station für die Detailansicht.

Visuelles Design

  • PrimeNG V19: Bildet das Fundament für interaktive Komponenten wie den Range Slider, Dialoge und Auswahlmenüs.
  • Responsivität: Nutzt Flexbox und Media Queries, um sich von Desktop-Monitoren bis hin zu kleineren Tablet-Ansichten anzupassen.