Initialer Commit: Projekt Start
This commit is contained in:
112
README.md
Normal file
112
README.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# HyggeCraftery Flutter App
|
||||
|
||||
Eine E-Commerce Flutter-App, die mit dem WordPress/WooCommerce-Shop hyggecraftery.com verbunden ist.
|
||||
|
||||
## Features
|
||||
|
||||
- 🏠 **Homepage** mit ausgewählten Produkten zum Thema Gemütlichkeit
|
||||
- 📦 **Produktliste** mit allen verfügbaren Produkten
|
||||
- 🔍 **Produktdetails** mit Bildern und Beschreibungen
|
||||
- 🛒 **Warenkorb** Funktionalität mit Persistenz (bleibt nach App-Neustart erhalten)
|
||||
- 💳 **Checkout** über WooCommerce WebView (nutzt alle WooCommerce-Einstellungen)
|
||||
- 👤 **Login/Logout** für Kunden
|
||||
- 📋 **Bestellhistorie** - Kunden können ihre Bestellungen einsehen
|
||||
- 💾 **Persistente Anmeldung** - bleibt nach App-Neustart eingeloggt
|
||||
- 🔄 **Pull-to-Refresh** für Produktlisten
|
||||
- ♾️ **Infinite Scroll** für automatisches Laden weiterer Produkte
|
||||
|
||||
## Setup
|
||||
|
||||
### 1. WooCommerce API Konfiguration
|
||||
|
||||
Öffne `lib/services/woocommerce_service.dart` und konfiguriere:
|
||||
|
||||
```dart
|
||||
static const String baseUrl = 'https://hyggecraftery.com';
|
||||
static const String consumerKey = 'ck_your_consumer_key';
|
||||
static const String consumerSecret = 'cs_your_consumer_secret';
|
||||
```
|
||||
|
||||
**WooCommerce REST API Keys erstellen:**
|
||||
1. Gehe zu deinem WordPress Admin-Bereich
|
||||
2. Navigiere zu WooCommerce → Settings → Advanced → REST API
|
||||
3. Erstelle einen neuen API Key
|
||||
4. Kopiere Consumer Key und Consumer Secret in die App
|
||||
|
||||
**Hinweis:** Wenn deine Produkte öffentlich sind, kannst du die API auch ohne Authentifizierung verwenden (die Keys können leer bleiben).
|
||||
|
||||
### 2. Dependencies installieren
|
||||
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
### 3. App starten
|
||||
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```
|
||||
lib/
|
||||
├── main.dart # App-Einstiegspunkt
|
||||
├── models/
|
||||
│ ├── product.dart # Produkt-Modell
|
||||
│ ├── user.dart # Benutzer-Modell
|
||||
│ └── order.dart # Bestellungs-Modell
|
||||
├── services/
|
||||
│ ├── woocommerce_service.dart # WooCommerce API Service
|
||||
│ ├── woocommerce_checkout_service.dart # Checkout Service
|
||||
│ ├── auth_service.dart # Authentifizierungs-Service
|
||||
│ └── order_service.dart # Bestellungs-Service
|
||||
├── providers/
|
||||
│ ├── cart_provider.dart # Warenkorb State Management (mit Persistenz)
|
||||
│ └── user_provider.dart # Benutzer State Management
|
||||
├── screens/
|
||||
│ ├── home_screen.dart # Homepage mit Tabs
|
||||
│ ├── products_screen.dart # Alle Produkte
|
||||
│ ├── product_detail_screen.dart # Produktdetails
|
||||
│ ├── cart_screen.dart # Warenkorb
|
||||
│ ├── checkout_screen.dart # Checkout (WebView)
|
||||
│ ├── login_screen.dart # Login
|
||||
│ ├── orders_screen.dart # Bestellhistorie
|
||||
│ └── order_detail_screen.dart # Bestelldetails
|
||||
└── widgets/
|
||||
└── product_card.dart # Produktkarten-Widget
|
||||
```
|
||||
|
||||
## Login & Authentifizierung
|
||||
|
||||
Die App unterstützt die Anmeldung von Kunden mit ihren WooCommerce-Konten:
|
||||
|
||||
1. **Login**: Kunden können sich mit ihrem Benutzernamen/E-Mail und Passwort anmelden
|
||||
2. **Persistente Anmeldung**: Die Anmeldung bleibt nach App-Neustart erhalten
|
||||
3. **Bestellhistorie**: Eingeloggte Kunden können alle ihre Bestellungen einsehen
|
||||
4. **Account-Menü**: Über das Account-Icon in der AppBar können Kunden auf ihre Bestellungen zugreifen
|
||||
|
||||
### WordPress JWT Auth Plugin (Optional)
|
||||
|
||||
Für die beste Login-Erfahrung wird empfohlen, das **JWT Authentication for WP REST API** Plugin zu installieren:
|
||||
- Plugin installieren: `https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/`
|
||||
- Alternativ funktioniert die App auch ohne das Plugin (verwendet dann WooCommerce API)
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
- [x] Warenkorb-Seite implementieren
|
||||
- [x] Checkout-Prozess implementieren
|
||||
- [x] Benutzer-Authentifizierung
|
||||
- [x] Bestellhistorie
|
||||
- [ ] Produktsuche
|
||||
- [ ] Kategorien-Filter
|
||||
- [ ] Favoriten/Wunschliste
|
||||
- [ ] Push-Benachrichtigungen für Bestellstatus
|
||||
|
||||
## Technologien
|
||||
|
||||
- Flutter 3.0+
|
||||
- Provider (State Management)
|
||||
- HTTP (API Calls)
|
||||
- Cached Network Image (Bildladen)
|
||||
|
||||
Reference in New Issue
Block a user