First commit
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user