Zum Inhalt

Architekturdiagramm

PetBuddy folgt einer Schichtenarchitektur mit klarer Trennung von UI, Geschäftslogik und Datenzugriff.

Architekturdiagramm

Interaktive Version auf Mermaid Chart öffnen


Schichten im Überblick

Schicht Verzeichnis Aufgabe
Einstiegspunkt main.pyapp/app.py Flet-App starten, FastAPI-Server für PDF-Downloads
App-Steuerung app/ Navigation, Drawer, Auth-Flow, Dialoge
UI ui/ Views, Components, Handler (je Feature)
Services services/ Geschäftslogik, Supabase-Zugriff
Utils utils/ Logging, PDF-Export, Kartenrendering, Validierung
Externe Dienste Supabase (DB + Auth + Storage), Mapbox, Hugging Face

Datenfluss

  1. main.py startet die Flet-App und initialisiert PetBuddyApp.
  2. PetBuddyApp erstellt die UI-Views (DiscoverView, PostForm, ProfileView, AuthView) und übergibt den Supabase-Client.
  3. Die UI-Views rufen Services direkt auf (z. B. PostService.create(), SearchService.search()).
  4. Services kommunizieren mit den externen Diensten (Supabase, Mapbox, Hugging Face).
  5. Ergebnisse fließen zurück an die UI, die das Rendering aktualisiert.

Hinweis zu Lookup-Tabellen

Die Lookup-Tabellen für role und account_status wurden bereits im Datenmodell angelegt, werden in der aktuellen Anwendungsversion jedoch noch nicht aktiv verwendet.

Sie sind als Vorbereitung für zukünftige Funktionen vorgesehen, insbesondere für Moderation und erweiterte Rollen-/Statuslogik.