Erstellung einer E-Commerce-App mit Flutter, Back4App und Stripe-Integration über Cloud Code
Die Entwicklung einer E-Commerce-App umfasst mehrere Komponenten, darunter Produktlisten, Funktionen des Warenkorbs, sichere Zahlungsabwicklung, Bestellverfolgung und Benutzerbewertungen. Die Kombination von Flutters leistungsstarkem UI-Toolkit mit den skalierbaren Backend-Diensten von Back4App vereinfacht den Entwicklungsprozess. Darüber hinaus ermöglicht die Integration von Stripe für die Zahlungsabwicklung über Back4App Cloud Code eine sichere und professionelle Transaktionsabwicklung.
In diesem Tutorial werden Sie eine E-Commerce-App mit den folgenden Funktionen erstellen:
- Produktlisten: Produkte mit Bildern, Beschreibungen und Preisen anzeigen.
- Warenkorb: Produkte zum Warenkorb hinzufügen und entfernen.
- Benutzerkonten: Benutzerprofile und Adressen verwalten.
- Sicherer Checkout: Zahlungen sicher über Stripe via Back4App Cloud Code abwickeln.
- Bestellverfolgung: Bestellstatus und -verlauf verfolgen.
- Bewertungen und Bewertungen: Benutzern ermöglichen, Bewertungen und Bewertungen abzugeben.
Um dieses Tutorial zu befolgen, benötigen Sie:
- Grundkenntnisse in Flutter und Dart.
- Eine IDE oder einen Texteditor wie Visual Studio Code oder Android Studio.
- Node.js und npm installiert für die Entwicklung von Cloud-Code.
Öffnen Sie Ihr Terminal und führen Sie aus:
Navigieren Sie zum Projektverzeichnis:
Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten hinzu:
Führen Sie flutter pub get aus, um die Pakete zu installieren.
Hinweis:
- parse_server_sdk_flutter für die Back4App-Integration.
- provider für das State Management.
- cached_network_image für effizientes Laden von Bildern.
- flutter_stripe für die Stripe-Integration auf der Client-Seite.
- uuid zur Generierung eindeutiger Identifikatoren.
- Klicken Sie auf "Neue App erstellen".
- Geben Sie "EcommerceApp" als Anwendungsnamen ein und klicken Sie auf "Erstellen".
Wir müssen mehrere Klassen in Back4App erstellen:
- Produkt
- Benutzer (Integrierte Klasse)
- Bestellung
- Bestellposition
- Bewertung
- Navigieren Sie zu der "Datenbank"-Sektion.
- Klicken Sie auf "Eine Klasse erstellen".
- Wählen Sie "Benutzerdefiniert" und geben Sie "Produkt" als Klassennamen ein.
- Fügen Sie die folgenden Spalten hinzu:
- name: String
- beschreibung: String
- preis: Zahl
- bild: Datei
- kategorie: String
- lagerbestand: Zahl
Erstellen Sie eine "Bestellung" Klasse mit den folgenden Spalten:
- benutzer: Pointer<_User>
- gesamtbetrag: Zahl
- status: String (Werte: "ausstehend", "bezahlt", "versendet", "zugestellt")
- paymentIntentId: String (Um Stripe-Zahlung zu verfolgen)
- versandadresse: String
Erstellen Sie eine "OrderItem"-Klasse mit den folgenden Spalten:
- Bestellung: Zeiger
- Produkt: Zeiger
- Menge: Zahl
- Preis: Zahl
Erstellen Sie eine "Review"-Klasse mit den folgenden Spalten:
- Produkt: Zeiger
- Benutzer: Zeiger<_User>
- Bewertung: Zahl
- Kommentar: String
- Navigieren Sie zu App-Einstellungen > Sicherheit & Schlüssel.
- Notieren Sie sich Ihre Anwendungs-ID und Client-Schlüssel.
Öffnen Sie lib/main.dart und ändern Sie es:
Ersetzen Sie 'YOUR_APPLICATION_ID' und 'YOUR_CLIENT_KEY' durch Ihre Back4App-Anmeldeinformationen.
Erstellen Sie ein Verzeichnis models unter lib und fügen Sie product.dart:
Erstellen Sie ein Verzeichnis services unter lib und fügen Sie product_service.dart:
Erstellen Sie screens Verzeichnis unter lib und fügen Sie home_screen.dart:
Erstellen Sie product_detail_screen.dart unter lib/screens/:
Fügen Sie auth_service.dart unter lib/services/:
Erstellen Sie login_screen.dart und signup_screen.dart unter lib/screens/.
Anmeldeseite:
Registrierungsseite:
In main.dart, um die MaterialApp mit MultiProvider:
Ändern Sie main.dart um den Authentifizierungsstatus zu überprüfen:
Fügen Sie cart_service.dart unter lib/services/:
Fügen Sie cart_screen.dart unter lib/screens/:
- Holen Sie sich Ihren Publishable Key und Secret Key im Stripe-Dashboard unter Entwickler > API-Schlüssel.
Back4App unterstützt Cloud Code-Funktionen, die in JavaScript geschrieben sind. Wir werden Cloud Code-Funktionen schreiben, um die Zahlungsabwicklung zu verwalten.
- Gehen Sie in Ihrem Back4App-App-Dashboard zu App-Einstellungen > Cloud Code-Funktionen.
- Klicken Sie auf "Code bearbeiten" um den Cloud Code-Editor zu öffnen.
Führen Sie im Cloud Code-Terminal (im Editor bereitgestellt) aus:
Hinweis: Back4App's Cloud Code verwendet Node.js Version 14.x, stellen Sie also die Kompatibilität sicher.
Erstellen oder ändern Sie main.js im Cloud Code-Editor:
Ersetzen Sie 'YOUR_STRIPE_SECRET_KEY' durch Ihren tatsächlichen Stripe-Geheimschlüssel.
Sicherheitsnotiz: Geben Sie Ihren geheimen Schlüssel niemals auf der Client-Seite preis. Halten Sie ihn im Cloud Code sicher.
Klicken Sie auf "Bereitstellen" im Cloud Code-Editor, um Ihre Funktionen bereitzustellen.
In main.dart, nach Parse().initialize, hinzufügen:
Ersetzen Sie 'IHRE_STRIPE_PUBLISHABLE_KEY' durch Ihren Stripe-Publishable-Key.
Fügen Sie checkout_screen.dart unter lib/screens/:
Erstellen Sie order_confirmation_screen.dart unter lib/screens/:
Ändern Sie die _processPayment Methode, um die Bestelldaten zu speichern:
Fügen Sie order_service.dart unter lib/services/:
Fügen Sie order.dart unter lib/models/:
Fügen Sie orders_screen.dart unter lib/screens/:
Fügen Sie review_service.dart unter lib/services/:
Fügen Sie review.dart unter lib/models/:
In product_detail_screen.dart, fügen Sie einen Abschnitt hinzu, um Bewertungen anzuzeigen und einzureichen.
In diesem umfassenden Tutorial haben Sie eine E-Commerce-App mit Flutter und Back4App erstellt, die mit Stripe für die sichere Zahlungsabwicklung über Cloud Code integriert ist. Sie haben wichtige Funktionen wie Produktlisten, Einkaufswagenfunktionalität, Benutzerauthentifizierung, Bestellverfolgung und Bewertungen implementiert.
- Back4App-Integration: Vereinfacht das Backend-Management für Ihre Flutter-App.
- Stripe-Integration über Cloud Code: Verarbeitet Zahlungen sicher, ohne sensible Schlüssel offenzulegen.
- Modulare Architektur: Die Trennung von Diensten und Modellen verbessert die Wartbarkeit.
- Sicherheit verbessern: Implementieren Sie eine ordnungsgemäße Fehlerbehandlung und Eingangsvalidierung.
- UI/UX Verbesserungen: Verfeinern Sie die Benutzeroberfläche für ein besseres Benutzererlebnis.
- Bestandsverwaltung: Aktualisieren Sie den Produktbestand nach dem Kauf.
- E-Mail-Benachrichtigungen: Senden Sie Bestellbestätigungs-E-Mails an die Benutzer.
- Admin-Panel: Erstellen Sie eine Admin-Oberfläche zur Verwaltung von Produkten und Bestellungen.
Viel Spaß beim Programmieren!