- 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>
41 lines
1.1 KiB
JSON
41 lines
1.1 KiB
JSON
{
|
|
"firestore": {
|
|
"rules": "firestore.rules",
|
|
"indexes": "firestore.indexes.json"
|
|
},
|
|
"storage": {
|
|
"rules": "storage.rules"
|
|
},
|
|
"functions": {
|
|
"source": "functions",
|
|
"predeploy": ["npm --prefix functions run build"]
|
|
},
|
|
"flutter": {
|
|
"platforms": {
|
|
"android": {
|
|
"default": {
|
|
"projectId": "leaf-it-to-me-app",
|
|
"appId": "1:724282636354:android:db0671eaf1218c414195db",
|
|
"fileOutput": "android/app/google-services.json"
|
|
}
|
|
},
|
|
"ios": {
|
|
"default": {
|
|
"projectId": "leaf-it-to-me-app",
|
|
"appId": "1:724282636354:ios:7c2855f20b2ba5ba4195db",
|
|
"uploadDebugSymbols": false,
|
|
"fileOutput": "ios/Runner/GoogleService-Info.plist"
|
|
}
|
|
},
|
|
"dart": {
|
|
"lib/firebase_options.dart": {
|
|
"projectId": "leaf-it-to-me-app",
|
|
"configurations": {
|
|
"android": "1:724282636354:android:db0671eaf1218c414195db",
|
|
"ios": "1:724282636354:ios:7c2855f20b2ba5ba4195db"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|