Flutter Templates

Membangun Aplikasi E-commerce dengan Flutter, Back4App, dan Integrasi Stripe melalui Cloud Code

49min

Pendahuluan

Mengembangkan aplikasi e-commerce melibatkan beberapa komponen, termasuk daftar produk, fungsionalitas keranjang belanja, pemrosesan pembayaran yang aman, pelacakan pesanan, dan ulasan pengguna. Menggabungkan toolkit UI yang kuat dari Flutter dengan layanan backend yang dapat diskalakan dari Back4App menyederhanakan proses pengembangan. Selain itu, mengintegrasikan Stripe untuk pemrosesan pembayaran melalui Back4App Cloud Code memungkinkan penanganan transaksi yang aman dan profesional.

Dalam tutorial ini, Anda akan membangun aplikasi e-commerce dengan fitur-fitur berikut:

  • Daftar Produk: Tampilkan produk dengan gambar, deskripsi, dan harga.
  • Keranjang Belanja: Tambahkan dan hapus produk dari keranjang.
  • Akun Pengguna: Kelola profil dan alamat pengguna.
  • Checkout Aman: Proses pembayaran dengan aman menggunakan Stripe melalui Back4App Cloud Code.
  • Pelacakan Pesanan: Lacak status dan riwayat pesanan.
  • Ulasan dan Penilaian: Izinkan pengguna untuk mengirimkan ulasan dan penilaian.

Prasyarat

Untuk mengikuti tutorial ini, Anda akan membutuhkan:

  • Flutter SDK terinstal di mesin Anda. Ikuti panduan instalasi Flutter.
  • Pengetahuan dasar tentang Flutter dan Dart.
  • Sebuah IDE atau editor teks seperti Visual Studio Code atau Android Studio.
  • Akun Back4App. Daftar di Back4App.
  • Akun Stripe. Daftar di Stripe untuk mendapatkan kunci API.
  • Node.js dan npm terinstal untuk pengembangan Cloud Code.



Langkah 1 – Menyiapkan Proyek Flutter

1.1. Buat Proyek Flutter Baru

Buka terminal Anda dan jalankan:

Bash


Navigasikan ke direktori proyek:

Bash


1.2. Tambahkan Dependensi

Buka pubspec.yaml dan tambahkan dependensi berikut:

YAML


Jalankan flutter pub get untuk menginstal paket.

Catatan:

  • parse_server_sdk_flutter untuk integrasi Back4App.
  • provider untuk manajemen status.
  • cached_network_image untuk pemuatan gambar yang efisien.
  • flutter_stripe untuk integrasi Stripe di sisi klien.
  • uuid untuk menghasilkan pengenal unik.

Langkah 2 – Menyiapkan Back4App

2.1. Buat Aplikasi Back4App Baru

  1. Masuk ke dasbor Back4App.
  2. Klik pada "Buat aplikasi baru".
  3. Masukkan "EcommerceApp" sebagai nama aplikasi dan klik "Buat".

2.2. Siapkan Model Data

Kita perlu membuat beberapa kelas di Back4App:

  • Produk
  • Pengguna (Kelas bawaan)
  • Pesanan
  • ItemPesanan
  • Ulasan

2.2.1. Kelas Produk

  1. Navigasikan ke "Database" bagian.
  2. Klik pada "Buat kelas".
  3. Pilih "Kustom" dan masukkan "Produk" sebagai nama kelas.
  4. Tambahkan kolom berikut:
    • nama: String
    • deskripsi: String
    • harga: Nomor
    • gambar: File
    • kategori: String
    • inventaris: Nomor

2.2.2. Kelas Pesanan

Buat kelas "Pesanan" dengan kolom berikut:

  • pengguna: Pointer<_User>
  • totalJumlah: Nomor
  • status: String (Nilai: "pending", "dibayar", "dikirim", "dikirim")
  • paymentIntentId: String (Untuk melacak pembayaran Stripe)
  • alamatPengiriman: String

2.2.3. Kelas OrderItem

Buat sebuah "OrderItem" kelas dengan kolom-kolom berikut:

  • pesanan: Pointer
  • produk: Pointer
  • kuantitas: Number
  • harga: Number

2.2.4. Kelas Ulasan

Buat sebuah "Review" kelas dengan kolom-kolom berikut:

  • produk: Pointer
  • pengguna: Pointer<_User>
  • penilaian: Number
  • komentar: String

2.3. Dapatkan Kredensial Aplikasi

  1. Navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci.
  2. Catat ID Aplikasi dan Kunci Klien.

Langkah 3 – Mengimplementasikan Manajemen Produk

3.1. Menginisialisasi Parse di Flutter

Buka lib/main.dart dan modifikasi:

Dart


Ganti 'YOUR_APPLICATION_ID' dan 'YOUR_CLIENT_KEY' dengan kredensial Back4App Anda.

3.2. Membuat Model Produk

Buat direktori models di bawah lib dan tambahkan product.dart:

Dart


3.3. Mengimplementasikan Layanan Produk

Buat direktori services di bawah lib dan tambahkan product_service.dart:

Dart


3.4. Membuat Layar Utama

Buat direktori layar di bawah lib dan tambahkan home_screen.dart:

Dart


3.5. Layar Detail Produk

Buat product_detail_screen.dart di bawah lib/screens/:

Dart


Langkah 4 – Mengimplementasikan Akun Pengguna

4.1. Layanan Autentikasi

Tambahkan auth_service.dart di bawah lib/services/:

Dart


4.2. Layar Autentikasi

Buat login_screen.dart dan signup_screen.dart di bawah lib/screens/.

Layar Masuk:

Dart


Layar Pendaftaran:

Dart


4.3. Perbarui Utama untuk Menyertakan AuthService

Di main.dart, bungkus MaterialApp dengan MultiProvider:

Dart


4.4. Pengalihan Berdasarkan Status Autentikasi

Modifikasi main.dart untuk memeriksa status autentikasi:

Dart


Langkah 5 – Fungsionalitas Keranjang Belanja

5.1. Buat Layanan Keranjang

Tambahkan cart_service.dart di bawah lib/services/:

Dart


5.2. Buat Layar Keranjang

Tambahkan cart_screen.dart di bawah lib/screens/:

Dart


Langkah 6 – Pembayaran Aman dengan Integrasi Stripe melalui Cloud Code

6.1. Siapkan Akun Stripe

  1. Daftar untuk akun Stripe.
  2. Dapatkan Kunci Publik dan Kunci Rahasia dari Dasbor Stripe di bawah Pengembang > Kunci API.

6.2. Instal SDK Stripe di Cloud Code

Back4App mendukung fungsi Cloud Code yang ditulis dalam JavaScript. Kami akan menulis fungsi Cloud Code untuk menangani pemrosesan pembayaran.

6.2.1. Buat Proyek Cloud Code

  1. Di dasbor aplikasi Back4App Anda, pergi ke Pengaturan Aplikasi > Fungsi Cloud Code.
  2. Klik "Edit kode" untuk membuka editor Cloud Code.

6.2.2. Inisialisasi npm dan Instal Paket Stripe

Di terminal Cloud Code (yang disediakan di editor), jalankan:

Bash


Catatan: Cloud Code Back4App menggunakan versi Node.js 14.x, jadi pastikan kompatibilitas.

6.3. Buat Fungsi Cloud untuk Tujuan Pembayaran

Buat atau modifikasi main.js di editor Cloud Code:

JS


Ganti 'YOUR_STRIPE_SECRET_KEY' dengan kunci rahasia Stripe Anda yang sebenarnya.

Catatan Keamanan: Jangan pernah mengekspos kunci rahasia Anda di sisi klien. Simpan dengan aman di Cloud Code.

6.4. Terapkan Cloud Code

Klik "Terapkan" di editor Cloud Code untuk menerapkan fungsi Anda.

6.5. Implementasi Pembayaran di Flutter

6.5.1. Inisialisasi Stripe di Flutter

Di main.dart, setelah Parse().initialize, tambahkan:

Dart


Ganti 'YOUR_STRIPE_PUBLISHABLE_KEY' dengan kunci publik Stripe Anda.

6.5.2. Buat Layar Checkout

Tambahkan checkout_screen.dart di bawah lib/screens/:

Dart


6.5.3. Tangani Konfirmasi Pembayaran

Buat order_confirmation_screen.dart di bawah lib/screens/:

Dart


6.6. Menyimpan Pesanan ke Back4App

Modifikasi _processPayment metode untuk menyimpan detail pesanan:

Dart


Langkah 7 – Pelacakan Pesanan

7.1. Buat Layanan Pesanan

Tambahkan order_service.dart di bawah lib/services/:

Dart


7.2. Buat Model Pesanan

Tambahkan order.dart di bawah lib/models/:

Dart


7.3. Buat Layar Pesanan

Tambahkan orders_screen.dart di bawah lib/screens/:

Dart


Langkah 8 – Ulasan dan Penilaian

8.1. Buat Layanan Ulasan

Tambahkan review_service.dart di bawah lib/services/:

Dart


8.2. Buat Model Ulasan

Tambahkan review.dart di bawah lib/models/:

Dart


8.3. Perbarui Layar Detail Produk

Di product_detail_screen.dart, tambahkan bagian untuk menampilkan dan mengirim ulasan.

Dart


Kesimpulan

Dalam tutorial komprehensif ini, Anda telah membangun aplikasi e-commerce menggunakan Flutter dan Back4App, terintegrasi dengan Stripe untuk pemrosesan pembayaran yang aman melalui Cloud Code. Anda menerapkan fitur kunci seperti daftar produk, fungsionalitas keranjang belanja, otentikasi pengguna, pelacakan pesanan, dan ulasan.

Poin Penting

  • Integrasi Back4App: Menyederhanakan manajemen backend untuk aplikasi Flutter Anda.
  • Integrasi Stripe melalui Cloud Code: Memproses pembayaran dengan aman tanpa mengekspos kunci sensitif.
  • Arsitektur Modular: Memisahkan layanan dan model meningkatkan pemeliharaan.

Langkah Selanjutnya

  • Tingkatkan Keamanan: Terapkan penanganan kesalahan yang tepat dan validasi input.
  • Peningkatan UI/UX: Perbaiki antarmuka pengguna untuk pengalaman pengguna yang lebih baik.
  • Manajemen Inventaris: Perbarui inventaris produk setelah pembelian.
  • Notifikasi Email: Kirim email konfirmasi pesanan kepada pengguna.
  • Panel Admin: Buat antarmuka admin untuk mengelola produk dan pesanan.

Sumber Daya Tambahan

Selamat Berkoding!