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

96 lines
2.5 KiB
Markdown

# 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
```