Files
VBB-Status-Web-App/CHANGELOG.md
T
2026-07-03 12:45:23 +02:00

24 KiB
Raw Blame History

Changelog

Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.

Das Format basiert auf Keep a Changelog, und dieses Projekt folgt Semantic Versioning.

[33.0.0] - 2026-07-03

Favoriten, Persistenz, echte Filter & Modul-Architektur

Added

  • Echte Favoriten: Stern-Button an jeder Station speichert sie in localStorage; Favoriten erscheinen auf dem Home-Screen und öffnen mit einem Tap die Abfahrten. (Vorher war der Button eine Attrappe mit alert().)
  • Teilen-Button: Nutzt die native Teilen-Funktion des Geräts (Web Share API), Fallback: in Zwischenablage kopieren.
  • Persistenz über App-Starts: Letzte Station und letzte Route werden gemerkt und beim Start wiederhergestellt - ohne API-Call; geladen wird erst beim Öffnen der jeweiligen View.
  • Zeitwahl in der Routensuche: "Abfahrt um" / "Ankunft bis" mit Datum/Uhrzeit (leer = jetzt).
  • Offline-Modus für Abfahrten: Letzte Daten werden lokal gespeichert; ohne Verbindung werden sie mit Banner "Stand: vor X min" angezeigt.
  • Tastatur-Navigation in allen Stationsvorschlägen (Pfeiltasten, Enter, Escape).
  • aria-Labels für alle Icon-Buttons und Eingabefelder, aria-live für Statusanzeigen, sichtbarer Tastatur-Fokus.

Fixed

  • Verkehrsmittel-Filter der Routensuche funktionieren jetzt wirklich: Die Auswahl wurde vorher komplett ignoriert (kein products-Parameter in der API-URL). Fähren bleiben bewusst aktiv, da es keinen Button dafür gibt.
  • ReferenceError bei jedem Tastendruck behoben: Der Search-Hint-Handler referenzierte eine Variable außerhalb ihres Scopes.
  • Fake-Daten entfernt: Zufällige Gleisnummern, erfundene "GPS-Genauigkeit ±10m" und Alert-Attrappen (Export, Kalender) wurden angezeigt, als wären es echte Informationen.
  • Auto-Refresh bricht bei Fehlern nicht mehr permanent ab: Exponentieller Backoff (30s → 60s → ... max 5min), automatische Erholung.

Changed

  • Code in 5 Module aufgeteilt (js/api.js, app.js, livemap.js, changelog.js, extras.js); geteilter Zustand zentral in api.js deklariert.
  • Live-Map-Marker werden bewegt statt neu erzeugt (per tripId wiederverwendet): flüssigere Karte, offene Popups bleiben beim Update offen.
  • Radar-Ergebnisanzahl an Zoom gekoppelt (80/140/200): kleinere API-Responses bei hohem Zoom.
  • Parallax-Effekt mit requestAnimationFrame gedrosselt (max. 1 Update pro Frame statt pro Mausbewegung).
  • Alle console.log-Ausgaben entfernt (Fehler/Warnungen bleiben).

[32.0.0] - 2026-07-02

Stabilität, Fehlerbehebungen & API-Optimierung

Fixed

  • Kritisch: ReferenceError-Crash behoben: const originalSearchJourneys = searchJourneys referenzierte eine nie existierende Funktion. Der Fehler brach die Ausführung des restlichen Scripts ab (Hover-System, GPS-Handling u.a. luden nie).
  • Kritisch: Service Worker installierte sich nie: Die Cache-Liste enthielt /DotMatrix.ttf (Datei existiert nicht), wodurch cache.addAll() komplett fehlschlug. Dateien werden jetzt einzeln gecacht und Fehler toleriert.
  • Doppeltes View-Switch-System entfernt: Zwei konkurrierende switchView-Implementierungen und doppelte Menü-Handler feuerten bei jedem Klick beide. Jetzt gibt es genau ein generisches System, das alle Views (inkl. Developer) kennt.
  • Doppelte escapeHtml-Definition entfernt: Die zweite Version escapte keine Anführungszeichen (Risiko in HTML-Attributen).
  • Changelog wurde bis zu 13× parallel geladen: Drei redundante Lade-Mechanismen (switchView, MutationObserver, Tab-Handler) konkurrierend. Jetzt zentraler Guard, lädt genau einmal.
  • Fragiler navigator.geolocation-Override entfernt: Object.defineProperty auf navigator wirft in manchen Browsern. GPS-Buttons werden auf Desktop weiterhin versteckt.
  • Pull-to-Refresh löst nur noch in der Abfahrten-View aus.
  • Endlos-Logging entfernt: Hover-Statistiken wurden alle 30s dauerhaft in die Konsole geschrieben.

Removed

  • DotMatrix-Font komplett entfernt: Font-Datei existierte nicht mehr im Projekt; alle Referenzen aus CSS (19 Stellen), HTML-Featureliste und Service Worker entfernt. Fallback ist überall 'Courier New', monospace.

Changed

  • Zentrale API-Schicht (apiFetch): Alle VBB-API-Aufrufe laufen jetzt durch eine Funktion mit:
    • Hartem Rate-Limit von 90 Requests/Minute (API erlaubt 100 – 10 Puffer)
    • Response-Cache mit TTL pro Endpoint (Stationssuche 6h, Nearby 2min, Abfahrten 15s, Radar 10s, Trips 60s, Journeys 30s)
    • Request-Deduplizierung: identische parallele Anfragen werden nur einmal gefeuert
    • Cache-Fallback: bei erreichtem Limit werden notfalls leicht veraltete Daten geliefert statt Fehler
  • Polling pausiert im Hintergrund: Abfahrten-Auto-Refresh (30s) und Live-Map-Radar (15s) laufen nur, wenn der Tab sichtbar UND die jeweilige View aktiv ist. Bei Rückkehr in den Tab wird einmalig aufgefrischt.
  • Live-Map-Filter arbeiten lokal: Filter-Klicks rendern die bereits geladenen Fahrzeugdaten neu, statt einen neuen Radar-Request auszulösen.
  • Radar-Koordinaten werden gerundet (3 Dezimalstellen) für stabile Cache-Treffer bei minimalen Kartenbewegungen.
  • Service Worker: Network-first für App-Shell: Nach einem Update bekommen Nutzer sofort neues HTML/JS/CSS; offline greift der Cache. API-Requests werden vom SW bewusst nicht gecacht (macht apiFetch).
  • Autocomplete-Debounce von 300ms auf 400ms erhöht (weniger Requests beim Tippen).
  • XSS-Schutz: Stationsnamen, Liniennamen und Richtungen aus der API werden vor dem Einfügen ins HTML escaped.
  • Nutzerfreundliche Fehlermeldungen bei erreichtem API-Limit statt kryptischer Fehler.

[31.0.0] - 2026-02-10

Developer View & Auto-Changelog System

Added

  • Developer View mit Tab-System: Neue Entwickler-Ansicht mit 3 Tabs
    • Changelog: Automatisch geladene Versionshistorie
    • Info: App-Informationen, Statistiken, Status
    • Features: Detaillierte Feature-Beschreibungen mit Collapsibles
  • Automatisches Changelog-Loading: CHANGELOG.md wird automatisch gefetcht und gerendert
  • Markdown-zu-HTML Konverter: Vollständiger Parser für Markdown-Syntax
    • Überschriften (h1-h6)
    • Fettdruck (bold) und Kursiv (italic)
    • Code-Blöcke ( ) und Inline-Code (code)
    • Listen (geordnet und ungeordnet)
    • Links text
    • Blockquotes (>)
    • Horizontale Linien (---)
    • Tabellen
  • GitHub-Style Formatierung: Changelog sieht aus wie auf GitHub
    • Hierarchische Überschriften mit Border-Bottom
    • Gelbe Highlights für wichtige Begriffe
    • Grüner Code-Text auf schwarzem Hintergrund
    • Responsive Typography
  • Mobile-Optimierungen für Developer View:
    • Kompaktere Layouts für kleine Bildschirme
    • Touch-optimierte Tab-Navigation (min 44px)
    • Horizontal scrollbare Tabs mit Scroll-Hint Animation
    • Bessere Lesbarkeit durch angepasste Font-Größen
    • Stack-Layout für Info-Boxen
    • Full-Width GitHub-Link Button
    • Landscape-Mode Support

Changed

  • Changelog-Verwaltung: Nur noch CHANGELOG.md pflegen - keine HTML-Duplikate mehr
  • Developer-Tabs Design: Premium-Look mit Gradienten und Animationen
    • 3D-Button-Effekt mit Schatten
    • Smooth Transform-Animationen
    • Aktiver Tab hebt sich durch Gold-Gradient ab
    • Hover-Effekte auf Desktop
  • Tab-Content Animation: Fade-in beim Tab-Wechsel (0.4s cubic-bezier)
  • Info-Boxen: 2-Spalten-Layout auf Desktop, Stack auf Mobile
  • Typography: Optimierte Font-Größen für alle Breakpoints
    • Mobile: 12-14px
    • Tablet: 14-16px
    • Desktop: 15-18px

Fixed

  • CSS Duplikat-Fehler: Doppelte Mobile Media Query (Zeile 2040-2130) entfernt
  • Markdown Parsing: Korrekte Konvertierung von verschachtelten Listen
  • UTF-8 Encoding: CHANGELOG.md ohne Zeichenfehler (ä, ö, ü)
  • Tab-Switching: Changelog lädt nur einmal beim ersten Öffnen
  • Touch-Feedback: Optimierte :active States für Mobile
  • Scroll-Verhalten: Smooth horizontal scrolling für Tabs mit -webkit-overflow-scrolling

Technical Details

  • Neue JavaScript-Funktionen:
    • loadChangelog(): Fetcht und rendert CHANGELOG.md
    • markdownToHtml(): Konvertiert Markdown zu HTML (230 Zeilen)
    • parseInline(): Konvertiert inline Markdown (bold, italic, code, links)
    • escapeHtml(): Sicheres HTML-Escaping für Code-Blöcke
  • CSS-Ergänzungen: +200 Zeilen für Markdown-Formatierung
  • Responsive Breakpoints:
    • Mobile: < 768px
    • Tablet: 768-1023px
    • Desktop: 1024px+
    • Extra Small: < 360px
    • Landscape Mobile: < 768px & orientation: landscape
  • Performance: Changelog cached nach erstem Load
  • Browser-Support: Chrome 80+, Safari 12+, Firefox 75+

[30.0.0] - 2026-02-10

Major Release - Code-Trennung & Desktop-Optimierung

Added

  • Modulare Dateistruktur: Projekt in separate HTML, CSS und JS Dateien aufgeteilt
  • Desktop-Optimierungen: Responsive Layouts für verschiedene Bildschirmgrößen
    • Tablet/Desktop (768px+): 900px Container
    • Large Desktop (1200px+): 1100px Container mit 2-Spalten Layout
    • Extra Large (1600px+): 1400px Container mit 3-Spalten Layout
  • Hover-Effekte: Desktop-optimierte Interaktionen
    • Navigation Items
    • Buttons und Filter
    • Abfahrts-Items
    • Journey Results
  • Live-Map Desktop-Layout: Controls links positioniert statt oben
  • Home View Desktop: 3-Spalten Navigation auf großen Bildschirmen
  • README.md: Umfassende Dokumentation der Projektstruktur
  • CHANGELOG.md: Versionsverwaltung und Änderungsprotokoll

Changed

  • Dateistruktur:
    • index.html: Von 4.698 auf 390 Zeilen reduziert
    • styles.css: 2.467 Zeilen (vorher inline)
    • script.js: 1.992 Zeilen (vorher inline)
  • Container-Breiten: Desktop-optimierte max-widths
    • Vorher: 1200px (zu breit)
    • Jetzt: 900px (Tablet), 1100px (Desktop), 1400px (XL)
  • Navigation-Menü: Von 280px auf 320px verbreitert
  • Header-Schrift: Desktop-Größen erhöht (36px -> 38px)
  • Detail-Modal: Responsive Breiten je nach Bildschirmgröße
    • Tablet: 900px
    • Desktop: 1100px
    • Extra Large: 1300px

Fixed

  • Z-Index Issue: Popups und Modals werden jetzt korrekt über dem Header angezeigt
    • Header: z-index 10000
    • Detail-Modal: z-index 10005
    • Detail-Header: z-index 10006
    • Leaflet-Popups: z-index 10010
  • Desktop-Layout: Fehlende Optimierungen für große Bildschirme korrigiert
  • Live-Map Controls: Bessere Positionierung auf Desktop

Technical Details

  • CSS-Dateigröße: 2.467 Zeilen (inkl. Desktop-Optimierungen)
  • JavaScript unverändert: 1.992 Zeilen
  • HTML-Struktur: Sauber getrennt, 390 Zeilen
  • Caching-Vorteile: Browser können CSS/JS separat cachen

[29.0.0] - 2026-02-09

Vorherige Version (Monolithisch)

  • Alle Code in einer index.html Datei
  • 4.698 Zeilen insgesamt
  • Funktionale PWA mit allen Features
  • Optimiert für Mobile

Features (bereits vorhanden)

  • Echtzeit-Abfahrten VBB/BVG
  • Routenplanung
  • Live-Fahrzeugverfolgung (Radar)
  • Service Worker (Offline-Fähigkeit)
  • PWA Manifest (Installierbar)
  • HTTPS Development Server
  • DotMatrix Font Integration
  • Dark Mode Design
  • Touch-optimiert für Mobile
  • Pull-to-Refresh
  • Leaflet.js Karten-Integration
  • BVG-Linienfarben
  • Fahrzeug-Filter (U-Bahn, Bus, Tram, S-Bahn, Regional)

[28.0.0] - 2026-02-08

Live-Map Feature

Added

  • Live-Fahrzeugverfolgung: Echtzeit-Karte mit Leaflet.js
  • Fahrzeug-Marker: Farbcodierte Marker für verschiedene Verkehrsmittel
    • U-Bahn: Blau
    • S-Bahn: Grün
    • Bus: Rot/Rosa
    • Tram: Orange
    • Regional: Grau
  • Fahrzeug-Filter: Toggle für verschiedene Verkehrsmitteltypen
  • Live-Updates: Automatisches Refresh alle 10 Sekunden
  • Popup-Informationen: Linie, Richtung, Verspätung beim Klick auf Marker
  • Map Controls: Filter-Buttons über der Karte

Changed

  • Navigation: Neuer "Radar" Menüpunkt
  • API-Calls: Optimiert für Live-Daten (radar endpoint)
  • Performance: Marker-Clustering für bessere Performance

Fixed

  • Memory Leaks: Alte Marker werden korrekt entfernt
  • Map-Rendering: Korrekte Tile-Layer Initialisierung

[27.0.0] - 2026-02-07

Journey Planner Enhancements

Added

  • Umsteigezeiten-Warnung: Farbcodierte Hinweise bei knappen Umstiegen
    • Grün: Ausreichend Zeit (5+ Minuten)
    • Orange: Knapp (3-5 Minuten)
    • Rot: Sehr knapp (< 3 Minuten)
  • Zwischenstopps: Anzeige aller Haltestellen auf der Route
  • Platform-Informationen: Gleis/Steig-Anzeige für alle Stops
  • Journey-Details Modal: Detaillierte Ansicht mit allen Informationen
  • Swap-Button: Von/Nach Felder tauschen per Button

Changed

  • Journey-Layout: Verbesserte Darstellung der Verbindungen
  • Icon-System: Einheitliche Verkehrsmittel-Icons
  • Touch-Targets: Größere Buttons für bessere Bedienbarkeit

Fixed

  • Zeitberechnung: Korrekte Berechnung von Umsteigezeiten
  • API-Parsing: Robusteres Parsing von Journey-Daten

[26.0.0] - 2026-02-06

Departure Filters

Added

  • Verkehrsmittel-Filter: Filter nach U-Bahn, S-Bahn, Bus, Tram
  • Linien-Filter: Filter nach spezifischen Linien (U1, U2, etc.)
  • Filter-Persistenz: Einstellungen werden gespeichert
  • Filter-Counter: Anzeige der gefilterten Abfahrten

Changed

  • Filter-UI: Neue Filter-Leiste unter der Suche
  • Performance: Optimiertes Filtern ohne neu zu laden

[25.0.0] - 2026-02-05

BVG Line Colors

Added

  • Original BVG-Farben: Authentische Linienfarben
    • U-Bahn: Linienspezifische Farben (U1-U9)
    • S-Bahn: Grün
    • Bus: Rot/Rosa
    • Tram: Orange
    • RE/RB: Grau
  • Color-Mapping: Vollständige Farbtabelle für alle Linien
  • Badge-Design: Farbige Linien-Badges

Changed

  • Line-Badge Styling: Größere, besser lesbare Badges
  • Contrast: Optimierter Kontrast für alle Farben

[24.0.0] - 2026-02-04

Pull-to-Refresh

Added

  • Pull-to-Refresh Gesture: Native-ähnliche Aktualisierung
  • Refresh-Spinner: Visuelles Feedback beim Aktualisieren
  • Touch-Events: touchstart, touchmove, touchend Handler
  • Haptic Feedback: Vibration bei erfolgreicher Aktualisierung

Changed

  • Scroll-Verhalten: -webkit-overflow-scrolling für smoothes Scrolling
  • Performance: Debounced Refresh-Events

[23.0.0] - 2026-02-03

Platform Information

Added

  • Gleis/Steig-Anzeige: Anzeige der Abfahrtsplattform
  • Platform-Icon: Symbol für Gleis/Steig
  • Platform-Badge: Formatierte Darstellung

Changed

  • Departure-Layout: Mehr Platz für Platform-Info
  • API-Integration: Korrekte Platform-Daten von VBB API

[22.0.0] - 2026-02-02

Journey Planner

Added

  • Routenplaner: Von/Nach Suche implementiert
  • Journey-Results: Anzeige von Verbindungen
  • Journey-Legs: Detaillierte Anzeige aller Teilstrecken
  • Time-Display: Abfahrts- und Ankunftszeiten
  • Duration: Gesamtdauer der Verbindung
  • Transfers: Anzahl der Umstiege

Changed

  • Navigation: Neuer "Route" Menüpunkt
  • API-Calls: Integration von journeys endpoint

[21.0.0] - 2026-02-01

Departure Details Modal

Added

  • Detail-View: Modal mit ausführlichen Informationen
  • Trip-Informationen: Linie, Richtung, Betreiber
  • Stop-Sequence: Alle folgenden Haltestellen
  • Remarks: Hinweise und Störungen
  • Close-Button: Einfaches Schließen des Modals

Changed

  • Modal-Styling: Fullscreen-Modal mit z-index Optimierung
  • Scroll-Verhalten: Smooth scrolling in Stop-List

[20.0.0] - 2026-01-31

Auto-Refresh

Added

  • Automatische Aktualisierung: Abfahrten refreshen alle 30 Sekunden
  • Last-Update Timestamp: Anzeige der letzten Aktualisierung
  • Pause on Background: Refresh stoppt bei Hintergrund-Tab
  • Visual-Indicator: Animierter Refresh-Status

Changed

  • Performance: Optimierte API-Calls (nur Diffs laden)
  • Battery-Saving: Intelligentes Refresh-Verhalten

[19.0.0] - 2026-01-30

Delay Information

Added

  • Verspätungsanzeige: Rot hervorgehobene Delays
  • Delay-Badge: Minute-genaue Verspätung
  • Cancelled-Status: Markierung ausgefallener Fahrten
  • On-Time Badge: Grüner Badge bei pünktlichen Fahrten

Changed

  • Color-Scheme: Rot für Delays, Grün für On-Time
  • Departure-Layout: Mehr Platz für Delay-Info

[18.0.0] - 2026-01-29

Added

  • GPS-Button: Automatische Standorterkennung
  • Nearby-Stops: Nächstgelegene Haltestellen finden
  • Distance-Display: Entfernung in Metern
  • Permission-Handling: Browser-Berechtigungen für Standort
  • Loading-State: Visuelles Feedback während GPS-Suche

Changed

  • Search-Layout: GPS-Button neben Suchfeld
  • API-Integration: nearby endpoint

Fixed

  • Permission-Errors: Bessere Fehlerbehandlung bei verweigerten Berechtigungen

[17.0.0] - 2026-01-28

Station Autocomplete

Added

  • Live-Suche: Autocomplete während der Eingabe
  • Fuzzy-Search: Fehlertolerante Suche
  • Product-Tags: Anzeige verfügbarer Verkehrsmittel
  • Keyboard-Navigation: Arrow-Keys für Auswahl
  • Click-Outside: Schließen bei Klick außerhalb

Changed

  • Suggestions-UI: Besseres Dropdown-Design
  • API-Calls: Debounced requests (300ms)
  • Performance: Caching von Search-Results

[16.0.0] - 2026-01-27

Real-time Departures

Added

  • VBB API Integration: Anbindung an v6.vbb.transport.rest
  • Departure-List: Chronologische Abfahrtsliste
  • Line-Badges: Farbige Linien-Anzeige
  • Direction-Display: Fahrtrichtung/Endhaltestelle
  • Time-Display: Abfahrtszeit in Minuten oder absolut

Changed

  • API-Endpoint: Wechsel zu VBB Transport REST API v6
  • Data-Structure: Neue JSON-Struktur

[15.0.0] - 2026-01-26

DotMatrix Font

Added

  • DotMatrix Font: Original BVG-Schriftart integriert
  • Font-Loading: @font-face mit Fallback
  • Typography: Einheitliche Schrift in gesamter App

Changed

  • Font-Stack: 'DotMatrix', 'Courier New', monospace
  • Letter-Spacing: Optimiert für Lesbarkeit

[14.0.0] - 2026-01-25

Dark Mode Design

Added

  • Dark Theme: Schwarzer Hintergrund (#000)
  • BVG Yellow: Primärfarbe #FFED00
  • Color-Scheme: Vollständiges Farbkonzept
  • Contrast: WCAG-konforme Kontraste

Changed

  • Gesamtes UI: Umstellung auf Dark Mode
  • Button-Styles: Gelb auf Schwarz
  • Input-Fields: Schwarzer Hintergrund

[13.0.0] - 2026-01-24

Navigation System

Added

  • Sidebar-Navigation: Slide-out Menu
  • View-Switching: Navigation zwischen verschiedenen Ansichten
  • Active-States: Hervorhebung aktiver View
  • Smooth-Transitions: Animierte View-Wechsel
  • Overlay: Backdrop beim geöffneten Menu

Changed

  • App-Structure: Multi-View Architecture
  • Menu-Icon: Hamburger-Button im Header

[12.0.0] - 2026-01-23

PWA Manifest

Added

  • manifest.json: PWA Manifest-Datei
  • App-Icons: Icons in verschiedenen Größen
  • Standalone-Mode: App läuft ohne Browser-UI
  • Theme-Color: #FFED00 (BVG Yellow)
  • Background-Color: #000000 (Black)
  • Display: standalone
  • Orientation: portrait-primary

Changed

  • HTML Meta-Tags: PWA-spezifische Meta-Tags

[11.0.0] - 2026-01-22

Service Worker

Added

  • Service Worker: Offline-Fähigkeit
  • Cache-First Strategy: Schnelle Ladezeiten
  • Offline-Page: Custom Offline-Seite
  • Cache-Update: Automatische Cache-Updates
  • Background-Sync: Sync bei Netzwerk-Reconnect

Changed

  • Loading-Performance: Deutlich schnellere App

[10.0.0] - 2026-01-21

HTTPS Development Server

Added

  • HTTPS-Server: Node.js Server mit SSL
  • Auto-SSL: Automatische Zertifikatserstellung
  • Mobile-Testing: Echter HTTPS-Zugriff vom Handy
  • Hot-Reload: Automatisches Neuladen bei Änderungen

Changed

  • Development-Workflow: Einfacheres Mobile-Testing

[9.0.0] - 2026-01-20

Touch Optimizations

Added

  • Touch-Targets: Minimum 44x44px für alle interaktiven Elemente
  • Tap-Highlights: Custom Highlight-Colors
  • Touch-Feedback: Active-States für Touch
  • Gesture-Support: Grundlegende Touch-Gesten

Changed

  • Button-Sizes: Größere Buttons für Touch
  • Spacing: Mehr Abstand zwischen Elementen

[8.0.0] - 2026-01-19

Responsive Design

Added

  • Mobile-First: Optimierung für Smartphones
  • Breakpoints: 768px, 1024px, 1200px
  • Fluid-Typography: Skalierbare Schriftgrößen
  • Flexible-Layouts: CSS Grid & Flexbox

Changed

  • Gesamtes Layout: Responsive für alle Bildschirmgrößen

[7.0.0] - 2026-01-18

Added

  • Search-Input: Textfeld für Stationssuche
  • Search-Button: Suche-Button
  • Clear-Button: X zum Leeren des Suchfelds
  • Loading-State: Spinner während der Suche

Changed

  • UI-Layout: Suchfeld prominent im Header

[6.0.0] - 2026-01-17

Error Handling

Added

  • Error-Messages: Benutzerfreundliche Fehlermeldungen
  • API-Error-Handling: Try-Catch für API-Calls
  • Network-Error-Detection: Offline-Erkennung
  • Retry-Logic: Automatisches Wiederholen bei Fehler

Changed

  • User-Experience: Besseres Feedback bei Problemen

[5.0.0] - 2026-01-16

Loading States

Added

  • Loading-Spinner: Animierter Lade-Indikator
  • Skeleton-Screens: Platzhalter während des Ladens
  • Progressive-Loading: Schrittweises Laden von Daten

Changed

  • UX: Klares Feedback während Ladezeiten

[4.0.0] - 2026-01-15

API Integration

Added

  • Fetch-API: Integration von VBB API
  • CORS-Handling: Cross-Origin Requests
  • Rate-Limiting: Respektierung von API-Limits
  • Error-Responses: Handling von API-Fehlern

Changed

  • Data-Flow: Asynchrone Datenverarbeitung

[3.0.0] - 2026-01-14

Basic Styling

Added

  • CSS-Framework: Custom CSS ohne Framework
  • Color-Variables: CSS Custom Properties
  • Typography: Schrift-Hierarchie
  • Button-Styles: Einheitliche Button-Designs

Changed

  • Visual-Design: Erste Styling-Implementierung

[2.0.0] - 2026-01-13

HTML Structure

Added

  • Semantic-HTML: Header, Main, Footer
  • Meta-Tags: Viewport, Description, etc.
  • HTML5-Elements: Article, Section, Nav
  • Accessibility: ARIA-Labels wo nötig

Changed

  • Document-Structure: Semantisches HTML

[1.0.0] - 2026-01-12

Initial Release

Added

  • Project-Setup: Initiales Git-Repository
  • Basic-HTML: Einfache HTML-Struktur
  • README: Projekt-Dokumentation
  • License: MIT-Lizenz

Projektinformationen

Entwickelt von: Aaron K. & Claude (Anthropic)
Lizenz: MIT
Repository: github.com/Serverlele30/VBB-Status-Web-App

Mitwirkende

  • Aaron K. - Projektleitung, Konzept, Testing, Entwicklung
  • Claude (Anthropic) - Entwicklung, Code-Optimierung

Geplante Features / Roadmap

v32.0.0 (geplant)

  • API-Error Handling verbessern
  • Favoriten-Stationen speichern
  • Benachrichtigungen bei Verspätungen
  • Dark/Light Mode Toggle

v33.0.0 (Ideen)

  • Barrierefreiheit (A11y) Audit
  • Mehrsprachigkeit (Englisch)
  • Export von Routen als iCal/PDF
  • Teilen-Funktion für Verbindungen
  • Integration mit Kalender-Apps
  • Offline-Modus mit Service Worker Cache

Versionsschema

Dieses Projekt verwendet Semantic Versioning:

  • MAJOR (z.B. 31.x.x): Grundlegende Änderungen, neue Features
  • MINOR (z.B. x.1.x): Neue Features, abwärtskompatibel
  • PATCH (z.B. x.x.1): Bug-Fixes, kleine Verbesserungen

Support & Feedback

Bei Fragen oder Problemen:

  1. GitHub Issues
  2. README konsultieren
  3. Code-Kommentare lesen

Viel Erfolg mit der VBB Netz Status App!