Modèles Flutter

Créer une application de commerce électronique avec Flutter, Back4App et intégration de Stripe via Cloud Code

49min

Introduction

Développer une application de commerce électronique implique plusieurs composants, y compris les listes de produits, la fonctionnalité de panier d'achat, le traitement sécurisé des paiements, le suivi des commandes et les avis des utilisateurs. Combiner l'outil UI puissant de Flutter avec les services backend évolutifs de Back4App simplifie le processus de développement. De plus, l'intégration de Stripe pour le traitement des paiements via Back4App Cloud Code permet de gérer les transactions de manière sécurisée et professionnelle.

Dans ce tutoriel, vous allez créer une application de commerce électronique avec les fonctionnalités suivantes :

  • Listes de Produits: Afficher les produits avec des images, des descriptions et des prix.
  • Panier d'Achat: Ajouter et supprimer des produits du panier.
  • Comptes Utilisateurs: Gérer les profils et adresses des utilisateurs.
  • Paiement Sécurisé: Traiter les paiements de manière sécurisée en utilisant Stripe via Back4App Cloud Code.
  • Suivi des Commandes: Suivre l'état et l'historique des commandes.
  • Avis et Évaluations: Permettre aux utilisateurs de soumettre des avis et des évaluations.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de :

  • Flutter SDK installé sur votre machine. Suivez le guide d'installation de Flutter.
  • Connaissances de base en Flutter et Dart.
  • Un IDE ou éditeur de texte comme Visual Studio Code ou Android Studio.
  • Un compte Back4App. Inscrivez-vous sur Back4App.
  • Compte Stripe. Inscrivez-vous sur Stripe pour obtenir des clés API.
  • Node.js et npm installés pour le développement de Cloud Code.



Étape 1 – Configuration du projet Flutter

1.1. Créer un nouveau projet Flutter

Ouvrez votre terminal et exécutez :

Bash


Naviguez vers le répertoire du projet :

Bash


1.2. Ajouter des dépendances

Ouvrez pubspec.yaml et ajoutez les dépendances suivantes :

YAML


Exécutez flutter pub get pour installer les paquets.

Remarque:

  • parse_server_sdk_flutter pour l'intégration Back4App.
  • provider pour la gestion d'état.
  • cached_network_image pour un chargement d'images efficace.
  • flutter_stripe pour l'intégration Stripe côté client.
  • uuid pour générer des identifiants uniques.

Étape 2 – Configuration de Back4App

2.1. Créer une nouvelle application Back4App

  1. Connectez-vous à votre tableau de bord Back4App.
  2. Cliquez sur "Créer une nouvelle application".
  3. Entrez "EcommerceApp" comme nom de l'application et cliquez sur "Créer".

2.2. Configurer les modèles de données

Nous devons créer plusieurs classes dans Back4App :

  • Produit
  • Utilisateur (Classe intégrée)
  • Commande
  • Article de commande
  • Avis

2.2.1. Classe Produit

  1. Naviguez vers la "Base de données" section.
  2. Cliquez sur "Créer une classe".
  3. Sélectionnez "Personnalisé" et entrez "Produit" comme nom de classe.
  4. Ajoutez les colonnes suivantes:
    • nom: Chaîne
    • description: Chaîne
    • prix: Nombre
    • image: Fichier
    • catégorie: Chaîne
    • inventaire: Nombre

2.2.2. Classe Commande

Créez une "Commande" classe avec les colonnes suivantes:

  • utilisateur: Pointeur<_Utilisateur>
  • montantTotal: Nombre
  • statut: Chaîne (Valeurs: "en attente", "payé", "expédié", "livré")
  • paymentIntentId: Chaîne (Pour suivre le paiement Stripe)
  • adresseDeLivraison: Chaîne

2.2.3. Classe OrderItem

Créer un "OrderItem" classe avec les colonnes suivantes :

  • commande: Pointeur
  • produit: Pointeur
  • quantité: Nombre
  • prix: Nombre

2.2.4. Classe d'évaluation

Créer une "Review" classe avec les colonnes suivantes :

  • produit: Pointeur
  • utilisateur: Pointeur<_Utilisateur>
  • évaluation: Nombre
  • commentaire: Chaîne

2.3. Obtenir les identifiants de l'application

  1. Naviguez vers Paramètres de l'application > Sécurité et clés.
  2. Notez votre ID d'application et Clé client.

Étape 3 – Mise en œuvre de la gestion des produits

3.1. Initialiser Parse dans Flutter

Ouvrez lib/main.dart et modifiez-le :

Dart


Remplacez 'VOTRE_ID_APPLICATION' et 'VOTRE_CLÉ_CLIENT' par vos identifiants Back4App.

3.2. Création du modèle de produit

Créez un répertoire models sous lib et ajoutez product.dart:

Dart


3.3. Mise en œuvre du service produit

Créez un répertoire services sous lib et ajoutez product_service.dart:

Dart


3.4. Création de l'écran d'accueil

Créer un répertoire d'écrans sous lib et ajouter home_screen.dart:

Dart


3.5. Écran de détails du produit

Créer product_detail_screen.dart sous lib/screens/:

Dart


Étape 4 – Mise en œuvre des comptes utilisateurs

4.1. Service d'authentification

Ajouter auth_service.dart sous lib/services/:

Dart


4.2. Écrans d'authentification

Créer login_screen.dart et signup_screen.dart sous lib/screens/.

Écran de connexion:

Dart


Écran d'inscription:

Dart


4.3. Mettre à jour Main pour inclure AuthService

Dans main.dart, enveloppez le MaterialApp avec MultiProvider:

Dart


4.4. Redirection Basée sur l'État d'Authentification

Modifiez main.dart pour vérifier l'état d'authentification :

Dart


Étape 5 – Fonctionnalité du Panier

5.1. Créer le Service de Panier

Ajouter cart_service.dart sous lib/services/:

Dart


5.2. Créer l'écran du panier

Ajouter cart_screen.dart sous lib/screens/:

Dart


Étape 6 – Paiement sécurisé avec intégration Stripe via Cloud Code

6.1. Configurer le compte Stripe

  1. Inscrivez-vous pour un compte Stripe.
  2. Obtenez votre Clé publique et Clé secrète depuis le tableau de bord Stripe sous Développeurs > Clés API.

6.2. Installer le SDK Stripe dans Cloud Code

Back4App prend en charge les fonctions Cloud Code écrites en JavaScript. Nous allons écrire des fonctions Cloud Code pour gérer le traitement des paiements.

6.2.1. Créer un projet Cloud Code

  1. Dans le tableau de bord de votre application Back4App, allez à Paramètres de l'application > Fonctions Cloud Code.
  2. Cliquez sur "Modifier le code" pour ouvrir l'éditeur de Cloud Code.

6.2.2. Initialiser npm et installer le package Stripe

Dans le terminal Cloud Code (fourni dans l'éditeur), exécutez :

Bash


Remarque: Le Cloud Code de Back4App utilise la version 14.x de Node.js, donc assurez-vous de la compatibilité.

6.3. Créer une fonction Cloud pour l'intention de paiement

Créez ou modifiez main.js dans l'éditeur de Cloud Code :

JS


Remplacez 'VOTRE_CLE_SECRETE_STRIPE' par votre véritable clé secrète Stripe.

Remarque de sécurité: Ne jamais exposer votre clé secrète côté client. Gardez-la sécurisée dans le Cloud Code.

6.4. Déployer le Cloud Code

Cliquez sur "Déployer" dans l'éditeur de Cloud Code pour déployer vos fonctions.

6.5. Implémenter le paiement dans Flutter

6.5.1. Initialiser Stripe dans Flutter

Dans main.dart, après Parse().initialize, ajoutez :

Dart


Remplacez 'VOTRE_CLE_PUBLIABLE_STRIPE' par votre clé publiable Stripe.

6.5.2. Créer l'écran de paiement

Ajoutez checkout_screen.dart sous lib/screens/:

Dart


6.5.3. Gérer la confirmation de paiement

Créer order_confirmation_screen.dart sous lib/screens/:

Dart


6.6. Enregistrement de la commande dans Back4App

Modifier la _processPayment méthode pour enregistrer les détails de la commande :

Dart


Étape 7 – Suivi de commande

7.1. Créer un service de commande

Ajouter order_service.dart sous lib/services/:

Dart


7.2. Créer le modèle de commande

Ajouter order.dart sous lib/models/:

Dart


7.3. Créer l'écran des commandes

Ajouter orders_screen.dart sous lib/screens/:

Dart


Étape 8 – Avis et évaluations

8.1. Créer le service d'avis

Ajouter review_service.dart sous lib/services/:

Dart


8.2. Créer le modèle d'évaluation

Ajouter review.dart sous lib/models/:

Dart


8.3. Mettre à jour l'écran de détails du produit

Dans product_detail_screen.dart, ajoutez une section pour afficher et soumettre des avis.

Dart


Conclusion

Dans ce tutoriel complet, vous avez construit une application de commerce électronique en utilisant Flutter et Back4App, intégrée avec Stripe pour un traitement sécurisé des paiements via Cloud Code. Vous avez mis en œuvre des fonctionnalités clés telles que les listes de produits, la fonctionnalité de panier d'achat, l'authentification des utilisateurs, le suivi des commandes et les avis.

Points Clés

  • Intégration Back4App: Simplifie la gestion du backend pour votre application Flutter.
  • Intégration Stripe via Cloud Code: Traite les paiements de manière sécurisée sans exposer de clés sensibles.
  • Architecture Modulaire: La séparation des services et des modèles améliore la maintenabilité.

Prochaines Étapes

  • Améliorer la sécurité: Mettre en œuvre une gestion appropriée des erreurs et une validation des entrées.
  • Améliorations UI/UX: Affiner l'interface utilisateur pour une meilleure expérience utilisateur.
  • Gestion des stocks: Mettre à jour l'inventaire des produits lors de l'achat.
  • Notifications par e-mail: Envoyer des e-mails de confirmation de commande aux utilisateurs.
  • Panneau d'administration: Créer une interface d'administration pour gérer les produits et les commandes.

Ressources supplémentaires

Bonne programmation !