# HouseOrg Gemeinsame Haushalts-App mit KI-Artikelerkennung, geteiltem Inventar und automatischer Einkaufsliste. ## Setup ### 1. Node.js installieren (Ubuntu) ```bash sudo apt install -y nodejs npm ``` ### 2. Abhängigkeiten installieren ```bash npm install ``` ### 3. Firebase einrichten 1. [Firebase Console](https://console.firebase.google.com) öffnen 2. Neues Projekt erstellen: `HouseOrg` 3. **Firestore Database** aktivieren (Production mode) 4. **Firebase Storage** aktivieren 5. **Authentication** → Anonymous aktivieren 6. **Cloud Messaging** ist standardmäßig aktiv 7. Android App registrieren (`de.houseorg.app`) → `google-services.json` herunterladen → in Projektwurzel legen 8. iOS App registrieren (`de.houseorg.app`) → `GoogleService-Info.plist` herunterladen → in Projektwurzel legen ### 4. Firestore Security Rules ```firestore rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /households/{householdId} { allow read: if true; allow write: if true; match /{subcollection}/{docId} { allow read, write: if true; } } } } ``` > Hinweis: Für Produktion auf authentifizierte Zugriffe einschränken. ### 5. OpenAI API Key ```bash cp .env.example .env # EXPO_PUBLIC_OPENAI_API_KEY=sk-... eintragen ``` ### 6. App starten ```bash npx expo start ``` ## Architektur - **Framework**: React Native + Expo (TypeScript) - **Navigation**: Expo Router (file-based) - **Backend**: Firebase (Firestore, Storage, FCM, Anonymous Auth) - **KI-Erkennung**: OpenAI GPT-4o-mini Vision - **Barcode**: Open Food Facts API - **State**: Zustand ## Kosten (geschätzt) | Dienst | Kosten | |--------|--------| | Firebase (Free Tier) | $0/Monat | | OpenAI GPT-4o-mini | ~$0.10/Monat | | Apple Developer | $99/Jahr (nur für App Store) | | Google Play | $25 einmalig | ## Projektstruktur ``` app/ _layout.tsx # Root Layout + App-Init onboarding.tsx # Haushalt erstellen / beitreten join.tsx # Deeplink-Handler für Einladungen (tabs)/ index.tsx # Inventar shopping.tsx # Einkaufsliste settings.tsx # Einstellungen modals/ add-item.tsx # Artikel hinzufügen (Kamera + Barcode) item-detail.tsx # Artikel-Detail & Bearbeiten src/ types/ # TypeScript-Typen constants/ # Farben, Labels, Konstanten services/ # Firebase, AI, Barcode, Notifications hooks/ # Zustand Store + Realtime-Sync components/ # UI-Komponenten utils/ # Hilfsfunktionen ```