Zum Inhalt

API-Referenz / Modulbeschreibung

Da PetBuddy eine Flet-Anwendung ist (kein REST-Backend), liegt die Geschäftslogik in der Service-Schicht. Nachfolgend die wichtigsten Module und ihre Funktionen.


services/account/ – Benutzerverwaltung

Modul Klasse Wichtige Methoden
auth.py AuthService login(), register(), reset_password()
profile.py ProfileService get_current_user(), update_display_name(), get_user_profiles()
profile_image.py ProfileImageService upload_profile_image(), delete_profile_image()
account_deletion.py AccountDeletionService delete_account() – kaskadiert Posts, Bilder, Kommentare

services/posts/ – Meldungsverwaltung

Modul Klasse / Funktion Wichtige Methoden
post.py PostService create(), update(), delete(), get_by_id(), get_all()
search.py SearchService search_posts() – kombiniert Filter, Sortierung, Standort
filters.py Hilfsfunktionen filter_by_search(), filter_by_colors(), filter_by_location(), sort_by_event_date(), enrich_with_distance()
comment.py CommentService get_comments(), create_comment(), toggle_reaction()
favorites.py FavoritesService get_favorites(), add_favorite(), remove_favorite()
saved_search.py SavedSearchService get_saved_searches(), save_search(), delete_search()
references.py ReferenceService get_post_statuses(), get_species(), get_breeds_by_species(), get_colors(), get_sex()
post_image.py PostStorageService upload_post_image(), remove_post_image() – JPEG-Komprimierung
post_relations.py PostRelationsService add_color(), update_colors(), add_photo()
map_service.py MapDataService posts_to_geojson(), get_map_bounds(), get_center_point() – GeoJSON für Kartenansicht
queries.py Query-Konstanten POST_SELECT_FULL, POST_SELECT_LIST, POST_SELECT_FAVORITES – zentrale Select-Statements

services/geocoding/ – Standortdienste

Modul Funktion Beschreibung
mapbox_geocoding.py geocode_suggestions() Mapbox-Autocomplete → {text, lat, lon}

services/ai/ – Künstliche Intelligenz

Modul Klasse Beschreibung
pet_recognition.py PetRecognitionService recognize_pet() – Bilderkennung via Hugging Face ViT (google/vit-base-patch16-224)

main.py – FastAPI Server

Neben der Flet-App stellt main.py einen FastAPI-Server bereit:

Endpoint Methode Beschreibung
/download/{filename} GET PDF-Download von exportierten Meldungen aus assets/pdf_exports/

utils/ – Interne Hilfsmodule (nicht Teil der Public API)

Die folgenden Module sind technische Implementierungsdetails und keine externen Schnittstellen.

Modul Zweck
logging_config.py Zentrales Logging (Konsole + Datei)
pdf_generator.py PDF-Export von Meldungen (ReportLab)
map_generator.py Kartenansicht (Folium/Leaflet)
validators.py Eingabevalidierung (E-Mail, Passwort, Pflichtfelder)
constants.py App-weite Konstanten (Backend)