Commit graph

8 commits

Author SHA1 Message Date
cschlaefke
248f3beccb Fix: Swift-Package-Manager-Konflikt durch inkonsistente Firebase-Versionen
Nach dem Hinzufügen von firebase_app_check wurde firebase_core implizit
auf 4.13.0 gehoben, während firebase_auth/cloud_firestore/firebase_storage
auf älteren Minor-Versionen mit abweichenden firebase-ios-sdk-Anforderungen
verharrten (12.15.0 vs. 12.17.0) — Xcode konnte die SPM-Pakete deshalb
nicht mehr auflösen. Fix: alle Firebase-Pakete auf die zueinander
passenden neuesten Minor-Versionen angehoben.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 12:08:11 +02:00
cschlaefke
7d9754282f App-Store-Vorbereitung: App Check, Release-Signing, Datenschutz, Doku
Ziel fürs Erste: TestFlight + Play-Internal-Testing (kein öffentlicher
Store-Eintrag). Code-seitig vorbereitet, alle Konsolen-Schritte für
Chris in firebase-einrichtung.md (Schritt 9-11) dokumentiert:

- App Check Client-Integration (Debug-Provider), Functions erzwingen
  es noch nicht (zweistufiger Rollout, siehe Doku)
- iOS: ITSAppUsesNonExemptEncryption gesetzt
- Android: Release-Signing über key.properties vorbereitet (Upload-Key
  fehlt noch bewusst, Erzeugung ist Chris' Schritt)
- flutter_launcher_icons vorbereitet für künftiges echtes App-Icon
- Datenschutzerklärung entworfen (docs/legal/datenschutz.html)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 00:09:39 +02:00
cschlaefke
52e72c25b1 Push-Erinnerungen: FCM-Registrierung in der App, geplante Function sendDailyReminders
- Function läuft alle 15 Min (europe-west3): prüft Erinnerungszeit pro Nutzer (Zeitzonen-korrekt), berechnet fällige Aufgaben, schickt eine Sammel-Push pro Tag, räumt ungültige Tokens auf
- App registriert Gerät nach Login (Berechtigung, Token, Zeitzone), Erinnerungszeit wird ins Nutzer-Dokument synchronisiert
- Doku Schritt 6 inkl. APNs-Anleitung für iOS (sobald Developer Account da ist)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 13:06:02 +02:00
cschlaefke
41e31bed88 Foto-Flow mit KI-Erkennung: Kamera, Cloud Function identifyPlant, Storage für Fotos
- Cloud Function (europe-west3): PlantNet-Erkennung mit Claude-Fallback, deutsches Pflegeprofil von Claude, Keys als Secrets
- Pflanzen-Formular: Foto aufnehmen/wählen, Felder werden automatisch vorbefüllt
- Fotos in Storage unter households/{id}/plant-photos, Anzeige in Liste und Profil
- storage.rules mit Haushalts-Prinzip, iOS-Berechtigungstexte für Kamera/Fotos
- Doku Schritt 5: Storage aktivieren, PlantNet-Key, Secrets setzen

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 00:05:46 +02:00
cschlaefke
cda8bc4cc2 Flutter 3.44 Upgrade: build/ vom Analyzer ausgeschlossen (SwiftPM-Fremdpakete)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 23:52:41 +02:00
cschlaefke
53ee30c598 Firestore und Auth: echte Daten statt Demo, Login mit E-Mail+Passwort, Security Rules
- Datenmodell: users/{uid}, households/{id} mit memberUids, plants/locations als Subcollections
- StreamProvider liefern Live-Daten, Repositories kapseln Schreibzugriffe
- Login-Screen mit Registrierung (legt Haushalt automatisch an), Logout in Einstellungen
- Router-Redirect bei Login/Logout, firestore.rules mit Haushalts-Prinzip
- Tests auf firebase_auth_mocks + fake_cloud_firestore umgestellt
- Verifiziert: analyze/test grün, Android-Debug-Build erfolgreich

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 22:53:09 +02:00
cschlaefke
4390949c7e Firebase angebunden: Projekt leaf-it-to-me-app, App-Registrierung iOS/Android, Initialisierung beim Start
- flutterfire configure: firebase_options.dart, google-services.json, GoogleService-Info.plist
- firebase_core eingebunden, Firebase.initializeApp in main.dart
- Doku firebase-einrichtung.md auf aktuellen Stand gebracht
- Verifiziert: flutter analyze/test grün, Android-Debug-Build erfolgreich

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 22:44:24 +02:00
cschlaefke
6e22d9c3aa Projekt-Gerüst: Flutter-App mit Heute-Checkliste, Pflanzenverwaltung, Stellplätzen und Einstellungen
- Flutter/Dart (iOS + Android), Riverpod, go_router, i18n via ARB (deutsch)
- Feature-Struktur: today, plants, locations, household (V2-Platzhalter), settings
- Intervall-Modell: Aufgaben werden aus lastWatered/lastFertilized + Intervall berechnet
- In-Memory-Demo-Daten, Firebase-Anbindung folgt im nächsten Block
- Doku: Architektur, Firebase-Einrichtung, Forgejo-Git-Hosting

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-18 21:13:18 +02:00