フラッター テンプレート

Flutter、Back4App、およびCloud Codeを介したStripe統合を使用したEコマースアプリの構築

48min

はじめに

eコマースアプリの開発には、商品リスト、ショッピングカート機能、安全な支払い処理、注文追跡、ユーザーレビューなど、複数のコンポーネントが含まれます。Flutterの強力なUIツールキットとBack4Appのスケーラブルなバックエンドサービスを組み合わせることで、開発プロセスが簡素化されます。さらに、Back4App Cloud Codeを介してStripeを統合することで、安全でプロフェッショナルな取引処理が可能になります。

このチュートリアルでは、次の機能を持つeコマースアプリを構築します:

  • 商品リスト: 画像、説明、価格を表示します。
  • ショッピングカート: カートに商品を追加および削除します。
  • ユーザーアカウント: ユーザープロフィールと住所を管理します。
  • 安全なチェックアウト: Back4App Cloud Codeを介してStripeを使用して安全に支払いを処理します。
  • 注文追跡: 注文のステータスと履歴を追跡します。
  • レビューと評価: ユーザーがレビューと評価を提出できるようにします。

前提条件

このチュートリアルを進めるには、次のものが必要です:

  • Flutter SDK があなたのマシンにインストールされていること。 Flutterインストールガイドを参照してください。
  • FlutterとDartの基本的な知識が必要です。
  • IDEまたはテキストエディタ(Visual Studio CodeやAndroid Studioなど)が必要です。
  • Back4Appアカウントが必要です。 Back4Appにサインアップしてください。
  • Stripeアカウントが必要です。 StripeにサインアップしてAPIキーを取得してください。
  • Node.jsとnpmがCloud Code開発のためにインストールされていること。



ステップ1 – Flutterプロジェクトの設定

1.1. 新しいFlutterプロジェクトを作成する

ターミナルを開いて、次のコマンドを実行します:

Bash


プロジェクトディレクトリに移動します:

Bash


1.2. 依存関係を追加する

pubspec.yaml」を開いて、次の依存関係を追加します:

YAML


flutter pub get」を実行して、パッケージをインストールします。

注意:

  • parse_server_sdk_flutter バック4アプリ統合のため。
  • provider 状態管理のため。
  • cached_network_image 効率的な画像読み込みのため。
  • flutter_stripe クライアント側のStripe統合のため。
  • uuid ユニーク識別子を生成するため。

ステップ2 – Back4Appの設定

2.1. 新しいBack4Appアプリケーションを作成する

  1. あなたの Back4Appダッシュボード にログインします。
  2. 新しいアプリを作成」をクリックします。
  3. アプリケーション名に「EcommerceApp」と入力し、「作成」をクリックします。

2.2. データモデルの設定

Back4Appにいくつかのクラスを作成する必要があります:

  • 製品
  • ユーザー (組み込みクラス)
  • 注文
  • 注文アイテム
  • レビュー

2.2.1. 製品クラス

  1. "Database"」セクションに移動します。
  2. "Create a class"」をクリックします。
  3. "Custom"」を選択し、クラス名として「"Product"」を入力します。
  4. 次の列を追加します:
    • name: String
    • description: String
    • price: Number
    • image: File
    • category: String
    • inventory: Number

2.2.2. 注文クラス

次の列を持つ「"Order"」クラスを作成します:

  • user: Pointer<_User>
  • totalAmount: Number
  • status: String (値: "pending", "paid", "shipped", "delivered")
  • paymentIntentId: String (Stripeの支払いを追跡するため)
  • shippingAddress: String

2.2.3. OrderItemクラス

次の列を持つ "OrderItem" クラスを作成します:

  • 注文: ポインタ
  • 製品: ポインタ
  • 数量:
  • 価格:

2.2.4. レビュークラス

次の列を持つ "Review" クラスを作成します:

  • 製品: ポインタ
  • ユーザー: ポインタ<_ユーザー>
  • 評価: 数値
  • コメント: 文字列

2.3. アプリケーションの資格情報を取得する

  1. 次に進む アプリ設定 > セキュリティとキー.
  2. あなたの アプリケーションIDクライアントキー をメモしてください。

ステップ3 – 製品管理の実装

3.1. FlutterでのParseの初期化

次のファイルを開いてください lib/main.dart そして修正します:

Dart


次の内容を置き換えます 'YOUR_APPLICATION_ID''YOUR_CLIENT_KEY' をあなたのBack4Appの資格情報に置き換えてください。

3.2. 製品モデルの作成

ディレクトリを作成する modelslib の下に作成し、 product.dart:

Dart


3.3. プロダクトサービスの実装

ディレクトリを作成する serviceslib の下に作成し、 product_service.dart:

Dart


3.4. ホーム画面の作成

screens」ディレクトリを「lib」の下に作成し、「home_screen.dart」を追加します。

Dart


3.5. 商品詳細画面

作成する product_detail_screen.dart の下に lib/screens/:

Dart


ステップ 4 – ユーザーアカウントの実装

4.1. 認証サービス

追加する auth_service.dart の下に lib/services/:

Dart


4.2. 認証画面

作成する login_screen.dartsignup_screen.dart の下に lib/screens/.

ログイン画面:

Dart


サインアップ画面:

Dart


4.3. AuthServiceを含めるためにMainを更新する

main.dart」で、MaterialAppMultiProviderでラップします:

Dart


4.4. 認証状態に基づくリダイレクト

main.dart」を修正して、認証状態を確認します:

Dart


ステップ 5 – ショッピングカート機能

5.1. カートサービスを作成する

追加 cart_service.dartlib/services/:

Dart


5.2. カート画面を作成する

追加する cart_screen.dartlib/screens/ の下に:

Dart


ステップ6 – Stripe統合による安全なチェックアウト

6.1. Stripeアカウントの設定

  1. Stripeアカウント」にサインアップします。
  2. Stripeダッシュボードの「開発者 > APIキー」から、公開可能キー秘密キーを取得します。

6.2. Cloud CodeにStripe SDKをインストール

Back4AppはJavaScriptで書かれたCloud Code関数をサポートしています。支払い処理を扱うCloud Code関数を作成します。

6.2.1. Cloud Codeプロジェクトを作成

  1. Back4Appアプリダッシュボードで、「アプリ設定 > Cloud Code関数」に移動します。
  2. コードを編集」をクリックして、Cloud Codeエディタを開きます。

6.2.2. npmを初期化し、Stripeパッケージをインストール

Cloud Codeターミナル(エディタ内に提供)で、次のコマンドを実行します:

Bash


注意: Back4AppのクラウドコードはNode.jsバージョン14.xを使用しているため、互換性を確認してください。

6.3. 支払い意図のためのクラウド関数を作成する

クラウドコードエディタで main.js を作成または修正します:

JS


'YOUR_STRIPE_SECRET_KEY'を実際のStripeシークレットキーに置き換えます。

セキュリティノート: クライアント側でシークレットキーを公開しないでください。クラウドコードで安全に保管してください。

6.4. クラウドコードをデプロイする

クラウドコードエディタで "デプロイ" をクリックして、関数をデプロイします。

6.5. Flutterでの支払いの実装

6.5.1. FlutterでのStripeの初期化

main.dart」の中で、Parse().initializeの後に、次を追加します:

Dart


'YOUR_STRIPE_PUBLISHABLE_KEY'」をあなたのStripeの公開可能キーに置き換えます。

6.5.2. チェックアウト画面の作成

checkout_screen.dart」を「lib/screens/」の下に追加します:

Dart


6.5.3. 支払い確認の処理

作成する order_confirmation_screen.dart の下に lib/screens/:

Dart


6.6. Back4Appに注文を保存する

次の _processPayment メソッドを修正して、注文の詳細を保存します:

Dart


ステップ7 – 注文追跡

7.1. 注文サービスを作成する

次の order_service.dart の下に lib/services/:

Dart


ステップ7 – 注文追跡

7.2. 注文モデルを作成する

次の場所に追加します order.dart の下に lib/models/:

Dart


7.3. 注文画面を作成する

次の場所に追加します orders_screen.dart の下に lib/screens/:

Dart


ステップ 8 – レビューと評価

8.1. レビューサービスを作成する

追加 review_service.dart の下に lib/services/:

Dart


8.2. レビューモデルの作成

追加 review.dart の下に lib/models/:

Dart


8.3. 製品詳細画面の更新

product_detail_screen.dart」に、レビューを表示し、提出するセクションを追加します。

Dart


結論

この包括的なチュートリアルでは、FlutterとBack4Appを使用してeコマースアプリを構築し、Cloud Codeを介して安全な支払い処理のためにStripeと統合しました。製品リスト、ショッピングカート機能、ユーザー認証、注文追跡、レビューなどの主要な機能を実装しました。

主なポイント

  • Back4App統合: Flutterアプリのバックエンド管理を簡素化します。
  • Cloud Codeを介したStripe統合: 機密キーを公開することなく、安全に支払いを処理します。
  • モジュラーアーキテクチャ: サービスとモデルを分離することで、保守性が向上します。

次のステップ

  • セキュリティの強化: 適切なエラーハンドリングと入力検証を実装します。
  • UI/UXの改善: より良いユーザー体験のためにユーザーインターフェースを洗練させます。
  • 在庫管理: 購入時に製品の在庫を更新します。
  • メール通知: ユーザーに注文確認メールを送信します。
  • 管理パネル: 製品と注文を管理するための管理インターフェースを作成します。

追加リソース

楽しいコーディングを!