Flutter Templates

Erstellung einer E-Commerce-App mit Flutter, Back4App und Stripe-Integration über Cloud Code

49min

Einführung

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.

Voraussetzungen

Um dieses Tutorial zu befolgen, benötigen Sie:

  • Flutter SDK auf Ihrem Computer installiert. Folgen Sie dem Flutter-Installationshandbuch.
  • Grundkenntnisse in Flutter und Dart.
  • Eine IDE oder einen Texteditor wie Visual Studio Code oder Android Studio.
  • Ein Back4App-Konto. Melden Sie sich bei Back4App an.
  • Stripe-Konto. Melden Sie sich bei Stripe an, um API-Schlüssel zu erhalten.
  • Node.js und npm installiert für die Entwicklung von Cloud-Code.



Schritt 1 – Einrichten des Flutter-Projekts

1.1. Erstellen Sie ein neues Flutter-Projekt

Öffnen Sie Ihr Terminal und führen Sie aus:

Bash


Navigieren Sie zum Projektverzeichnis:

Bash


1.2. Abhängigkeiten hinzufügen

Öffnen Sie pubspec.yaml und fügen Sie die folgenden Abhängigkeiten hinzu:

YAML


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.

Schritt 2 – Back4App einrichten

2.1. Erstellen Sie eine neue Back4App-Anwendung

  1. Melden Sie sich bei Ihrem Back4App-Dashboard an.
  2. Klicken Sie auf "Neue App erstellen".
  3. Geben Sie "EcommerceApp" als Anwendungsnamen ein und klicken Sie auf "Erstellen".

2.2. Einrichten der Datenmodelle

Wir müssen mehrere Klassen in Back4App erstellen:

  • Produkt
  • Benutzer (Integrierte Klasse)
  • Bestellung
  • Bestellposition
  • Bewertung

2.2.1. Produktklasse

  1. Navigieren Sie zu der "Datenbank"-Sektion.
  2. Klicken Sie auf "Eine Klasse erstellen".
  3. Wählen Sie "Benutzerdefiniert" und geben Sie "Produkt" als Klassennamen ein.
  4. Fügen Sie die folgenden Spalten hinzu:
    • name: String
    • beschreibung: String
    • preis: Zahl
    • bild: Datei
    • kategorie: String
    • lagerbestand: Zahl

2.2.2. Bestellklasse

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

2.2.3. Bestellposition Klasse

Erstellen Sie eine "OrderItem"-Klasse mit den folgenden Spalten:

  • Bestellung: Zeiger
  • Produkt: Zeiger
  • Menge: Zahl
  • Preis: Zahl

2.2.4. Bewertungs-Klasse

Erstellen Sie eine "Review"-Klasse mit den folgenden Spalten:

  • Produkt: Zeiger
  • Benutzer: Zeiger<_User>
  • Bewertung: Zahl
  • Kommentar: String

2.3. Anwendungsanmeldeinformationen erhalten

  1. Navigieren Sie zu App-Einstellungen > Sicherheit & Schlüssel.
  2. Notieren Sie sich Ihre Anwendungs-ID und Client-Schlüssel.

Schritt 3 – Implementierung des Produktmanagements

3.1. Initialisierung von Parse in Flutter

Öffnen Sie lib/main.dart und ändern Sie es:

Dart


Ersetzen Sie 'YOUR_APPLICATION_ID' und 'YOUR_CLIENT_KEY' durch Ihre Back4App-Anmeldeinformationen.

3.2. Erstellen des Produktmodells

Erstellen Sie ein Verzeichnis models unter lib und fügen Sie product.dart:

Dart


3.3. Implementierung des Produktdienstes

Erstellen Sie ein Verzeichnis services unter lib und fügen Sie product_service.dart:

Dart


3.4. Erstellen des Startbildschirms

Erstellen Sie screens Verzeichnis unter lib und fügen Sie home_screen.dart:

Dart


3.5. Produktdetailbildschirm

Erstellen Sie product_detail_screen.dart unter lib/screens/:

Dart


Schritt 4 – Implementierung von Benutzerkonten

4.1. Authentifizierungsdienst

Fügen Sie auth_service.dart unter lib/services/:

Dart


4.2. Authentifizierungsbildschirme

Erstellen Sie login_screen.dart und signup_screen.dart unter lib/screens/.

Anmeldeseite:

Dart


Registrierungsseite:

Dart


4.3. Hauptaktualisierung zur Einbeziehung von AuthService

In main.dart, um die MaterialApp mit MultiProvider:

Dart


4.4. Weiterleitung basierend auf dem Authentifizierungsstatus

Ändern Sie main.dart um den Authentifizierungsstatus zu überprüfen:

Dart


Schritt 5 – Einkaufswagen-Funktionalität

5.1. Erstelle den Warenkorb-Service

Fügen Sie cart_service.dart unter lib/services/:

Dart


5.2. Erstellen Sie den Warenkorb-Bildschirm

Fügen Sie cart_screen.dart unter lib/screens/:

Dart


Schritt 6 – Sicherer Checkout mit Stripe-Integration über Cloud Code

6.1. Stripe-Konto einrichten

  1. Melden Sie sich für ein Stripe-Konto an.
  2. Holen Sie sich Ihren Publishable Key und Secret Key im Stripe-Dashboard unter Entwickler > API-Schlüssel.

6.2. Stripe SDK im Cloud Code installieren

Back4App unterstützt Cloud Code-Funktionen, die in JavaScript geschrieben sind. Wir werden Cloud Code-Funktionen schreiben, um die Zahlungsabwicklung zu verwalten.

6.2.1. Cloud Code-Projekt erstellen

  1. Gehen Sie in Ihrem Back4App-App-Dashboard zu App-Einstellungen > Cloud Code-Funktionen.
  2. Klicken Sie auf "Code bearbeiten" um den Cloud Code-Editor zu öffnen.

6.2.2. npm initialisieren und Stripe-Paket installieren

Führen Sie im Cloud Code-Terminal (im Editor bereitgestellt) aus:

Bash


Hinweis: Back4App's Cloud Code verwendet Node.js Version 14.x, stellen Sie also die Kompatibilität sicher.

6.3. Erstellen Sie eine Cloud-Funktion für die Zahlungsabsicht

Erstellen oder ändern Sie main.js im Cloud Code-Editor:

JS


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.

6.4. Cloud Code bereitstellen

Klicken Sie auf "Bereitstellen" im Cloud Code-Editor, um Ihre Funktionen bereitzustellen.

6.5. Implementierung der Zahlung in Flutter

6.5.1. Stripe in Flutter initialisieren

In main.dart, nach Parse().initialize, hinzufügen:

Dart


Ersetzen Sie 'IHRE_STRIPE_PUBLISHABLE_KEY' durch Ihren Stripe-Publishable-Key.

6.5.2. Checkout-Bildschirm erstellen

Fügen Sie checkout_screen.dart unter lib/screens/:

Dart


6.5.3. Zahlungsbestätigung behandeln

Erstellen Sie order_confirmation_screen.dart unter lib/screens/:

Dart


6.6. Bestellung in Back4App speichern

Ändern Sie die _processPayment Methode, um die Bestelldaten zu speichern:

Dart


Schritt 7 – Bestellverfolgung

7.1. Bestellservice erstellen

Fügen Sie order_service.dart unter lib/services/:

Dart


7.2. Bestellmodell erstellen

Fügen Sie order.dart unter lib/models/:

Dart


7.3. Bestellbildschirm erstellen

Fügen Sie orders_screen.dart unter lib/screens/:

Dart


Schritt 8 – Bewertungen und Rezensionen

8.1. Bewertungsdienst erstellen

Fügen Sie review_service.dart unter lib/services/:

Dart


8.2. Erstellen Sie das Bewertungsmodell

Fügen Sie review.dart unter lib/models/:

Dart


8.3. Aktualisieren Sie den Produktdetailbildschirm

In product_detail_screen.dart, fügen Sie einen Abschnitt hinzu, um Bewertungen anzuzeigen und einzureichen.

Dart


Fazit

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.

Wichtige Erkenntnisse

  • 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.

Nächste Schritte

  • 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.

Zusätzliche Ressourcen

Viel Spaß beim Programmieren!