Files
HouseOrg/README.md
T
2026-06-01 23:31:56 +02:00

2.5 KiB

HouseOrg

Gemeinsame Haushalts-App mit KI-Artikelerkennung, geteiltem Inventar und automatischer Einkaufsliste.

Setup

1. Node.js installieren (Ubuntu)

sudo apt install -y nodejs npm

2. Abhängigkeiten installieren

npm install

3. Firebase einrichten

  1. Firebase Console ö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

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

cp .env.example .env
# EXPO_PUBLIC_OPENAI_API_KEY=sk-... eintragen

6. App starten

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