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