Zum Hauptinhalt springen
Alle Releases
Release Notes

Neue Filter und verbesserte Entwicklererfahrung

Neue Filter-FunktionalitätShared UI PackageDynamische OIDC-IntegrationVerbesserte Konfiguration

Dieses Release bringt neue Filter-Funktionen für die Kartenansicht, ein wiederverwendbares UI-Paket mit Storybook, sowie Verbesserungen bei der Authentifizierung und Konfiguration.

Cedrik Hoffmann

Lead Developer & Projektleitung

In diesem Release haben wir den Fokus auf die Verbesserung der Entwicklererfahrung und neue Filter-Funktionen gelegt. Das Frontend wurde durch ein neues Shared UI-Paket modernisiert, die Authentifizierung flexibler gestaltet und die Konfiguration vereinfacht.

Neue Filter-Funktionen

Die Kartenansicht wurde um leistungsfähige Filter-Funktionen erweitert:

  • Pflanzjahr-Filter: Ein neuer Slider ermöglicht die Filterung von Bäumen nach Pflanzjahr. Die verfügbaren Jahre werden dynamisch aus den vorhandenen Daten ermittelt, sodass nur relevante Zeiträume angezeigt werden.
  • CRUD Selection Filter: Bei der Auswahl von Objekten auf der Karte (z.B. beim Zuweisen von Bäumen zu Clustern) können die Ergebnisse jetzt gefiltert werden. Das erleichtert die Arbeit mit großen Datenbeständen erheblich.
  • Cluster-Membership Filter: Der Filter für die Cluster-Zugehörigkeit wurde repariert und funktioniert nun zuverlässig.

Shared UI-Paket

Ein bedeutender Schritt in Richtung besserer Code-Organisation und Wiederverwendbarkeit:

  • @green-ecolution/ui: Ein neues eigenständiges Paket enthält jetzt alle grundlegenden UI-Komponenten. Diese können projektübergreifend verwendet werden.
  • Storybook: Alle Komponenten sind in Storybook dokumentiert und können isoliert betrachtet und getestet werden.
  • Tailwind v4: Die Migration auf Tailwind CSS v4 bringt verbesserte Performance und neue Styling-Möglichkeiten.

Authentifizierung & Security

Die Authentifizierung wurde flexibler und robuster gestaltet:

  • Dynamisches JWKS: Die öffentlichen Schlüssel für die Token-Validierung werden nun dynamisch vom JWKS-Endpoint des OIDC-Providers abgerufen. Bei Schlüsselrotation ist kein Neustart mehr erforderlich.
  • Optionale Authentifizierung: Bestimmte Endpoints können nun so konfiguriert werden, dass sie auch ohne gültiges Token erreichbar sind. Das ermöglicht öffentliche Lesezugriffe bei gleichzeitigem Schutz von Schreiboperationen.
  • Verbessertes Token-Handling: Das Frontend erneuert Tokens jetzt proaktiv, bevor sie ablaufen. Das verhindert unterbrochene Sitzungen bei längerer Nutzung.

Konfiguration

Die Konfiguration wurde vereinfacht und flexibler gestaltet:

  • Env-Variablen als primäre Quelle: Die Anwendung kann nun vollständig über Umgebungsvariablen konfiguriert werden. Die YAML-Konfigurationsdatei ist optional.
  • Container-freundlich: Diese Änderung erleichtert das Deployment in Container-Umgebungen wie Docker und Kubernetes, wo Konfiguration typischerweise über Umgebungsvariablen erfolgt.

Bug Fixes

  • Vehicle Seed Data: Die Testdaten für Fahrzeuge wurden mit realistischen Werten überarbeitet.
  • NaN Entity ID: Ein Fehler wurde behoben, bei dem nach einem Page Refresh ungültige Entity-IDs (NaN) auftraten.
  • Auth Token Refresh: Das Token-Handling wurde verbessert, um Authentifizierungsprobleme bei längeren Sitzungen zu vermeiden.

Refactoring

  • Zustand Store Pattern: Die State-Management-Stores wurden auf das moderne StateCreator-Pattern umgestellt, was die Testbarkeit und Wartbarkeit verbessert.
  • Form Draft Storage: Formular-Entwürfe werden jetzt im Zustand-Store statt im SessionStorage gespeichert, was ein konsistenteres Verhalten ermöglicht.
  • API-Dokumentation: Die Swagger-Dokumentation wurde aufgeräumt und verbessert.

Dokumentation

  • CONTRIBUTING.md: Eine neue Datei dokumentiert den Beitragsprozess für neue Entwickler. Sie enthält Informationen zu Coding-Standards, dem Branching-Modell und dem Review-Prozess.

Ausblick

Mit diesem Release haben wir die Grundlage für schnellere Feature-Entwicklung gelegt. Das Shared UI-Paket und die verbesserte Konfiguration machen das Projekt zugänglicher für neue Beiträge.

Feedback und Bug-Reports sind jederzeit willkommen auf GitHub.

CHANGELOG.md - v0.1.2
$
feat(frontend): Filter-Funktionalität für Map CRUD Selection Pages
#637
$
feat(frontend): Slider-Komponente für Pflanzjahr-Filter mit dynamischen Jahren
#636
$
feat(backend): Unauthorized Requests können JWT Middleware passieren (konfigurierbar)
#634
$
feat(backend): Dynamische OIDC Public Key Fetching vom JWKS Endpoint
#595
$
feat(frontend): UI-Komponenten Migration zu Shared UI Package mit Tailwind v4
#608
$
feat(frontend): Neues @green-ecolution/ui Package mit Storybook
#591
$
feat(backend): Config-Datei optional, Env-Variablen als primäre Quelle
#594
$
fix(backend): Vehicle Seed Data mit realistischen Werten überarbeitet
#635
$
fix(frontend): Map Filter für Cluster-Membership repariert
#628
$
fix(frontend): NaN Entity ID bei Page Refresh behoben
#619
$
fix(frontend): Auth Token Handling mit proaktivem Refresh verbessert
#618
$
refactor(frontend): SessionStorage durch Zustand Store für Form Drafts ersetzt
#616
$
refactor(frontend): Zustand Store mit StateCreator Pattern modernisiert
#605
$
refactor(backend): Swagger API Dokumentation aufgeräumt und verbessert
#593
$
refactor(backend): Dynamische JWKS Fetching Zuverlässigkeit verbessert
#629
$
docs(project): CONTRIBUTING.md hinzugefügt

Fehler gefunden oder Feedback zu diesem Release? Issue erstellen →