Создание приложения электронной коммерции с использованием Flutter, Back4App и интеграцией Stripe через облачный код
Разработка приложения для электронной коммерции включает в себя несколько компонентов, включая списки продуктов, функциональность корзины покупок, безопасную обработку платежей, отслеживание заказов и отзывы пользователей. Сочетание мощного инструментария UI Flutter с масштабируемыми бэкенд-сервисами Back4App упрощает процесс разработки. Кроме того, интеграция Stripe для обработки платежей через Back4App Cloud Code позволяет безопасно и профессионально обрабатывать транзакции.
В этом учебном пособии вы создадите приложение для электронной коммерции с следующими функциями:
- Списки продуктов: Отображение продуктов с изображениями, описаниями и ценами.
- Корзина покупок: Добавление и удаление продуктов из корзины.
- Пользовательские аккаунты: Управление профилями пользователей и адресами.
- Безопасная оплата: Обработка платежей безопасно с использованием Stripe через Back4App Cloud Code.
- Отслеживание заказов: Отслеживание статуса и истории заказов.
- Отзывы и рейтинги: Позволить пользователям оставлять отзывы и оценки.
Чтобы следовать этому руководству, вам потребуется:
- Базовые знания Flutter и Dart.
- IDE или текстовый редактор такие как Visual Studio Code или Android Studio.
- Node.js и npm установлены для разработки Cloud Code.
Откройте терминал и выполните:
Перейдите в каталог проекта:
Откройте pubspec.yaml и добавьте следующие зависимости:
Запустите flutter pub get для установки пакетов.
Примечание:
- parse_server_sdk_flutter для интеграции с Back4App.
- provider для управления состоянием.
- cached_network_image для эффективной загрузки изображений.
- flutter_stripe для интеграции Stripe на стороне клиента.
- uuid для генерации уникальных идентификаторов.
- Нажмите на "Создать новое приложение".
- Введите "EcommerceApp" в качестве имени приложения и нажмите "Создать".
Нам нужно создать несколько классов в Back4App:
- Продукт
- Пользователь (встроенный класс)
- Заказ
- Элемент заказа
- Отзыв
- Перейдите в раздел "Database".
- Нажмите на "Create a class".
- Выберите "Custom" и введите "Product" в качестве имени класса.
- Добавьте следующие столбцы:
- имя: Строка
- описание: Строка
- цена: Число
- изображение: Файл
- категория: Строка
- инвентарь: Число
Создайте класс "Order" с следующими столбцами:
- пользователь: Pointer<_User>
- общаяСумма: Число
- статус: Строка (Значения: "ожидание", "оплачено", "отправлено", "доставлено")
- paymentIntentId: Строка (Для отслеживания платежа Stripe)
- адресДоставки: Строка
Создайте "OrderItem" класс со следующими столбцами:
- заказ: Указатель
- продукт: Указатель
- количество: Число
- цена: Число
Создайте "Review" класс со следующими столбцами:
- продукт: Указатель
- пользователь: Pointer<_User>
- рейтинг: Число
- комментарий: Строка
- Перейдите к Настройки приложения > Безопасность и ключи.
- Запишите ваш Идентификатор приложения и Ключ клиента.
Откройте lib/main.dart и измените его:
Замените 'YOUR_APPLICATION_ID' и 'YOUR_CLIENT_KEY' на ваши учетные данные Back4App.
Создайте каталог models в lib и добавьте product.dart:
Создайте каталог services в lib и добавьте product_service.dart:
Создайте screens директорию в lib и добавьте home_screen.dart:
Создайте product_detail_screen.dart в lib/screens/:
Добавьте auth_service.dart в lib/services/:
Создайте login_screen.dart и signup_screen.dart в lib/screens/.
Экран входа:
Экран регистрации:
В main.dart, оберните MaterialApp с помощью MultiProvider:
Измените main.dart для проверки статуса аутентификации:
Добавить cart_service.dart в lib/services/:
Добавить cart_screen.dart в lib/screens/:
- Получите ваш Публикуемый ключ и Секретный ключ в панели управления Stripe в разделе Разработчики > API ключи.
Back4App поддерживает функции Cloud Code, написанные на JavaScript. Мы напишем функции Cloud Code для обработки платежей.
- В вашей панели управления Back4App перейдите в Настройки приложения > Функции Cloud Code.
- Нажмите "Редактировать код" для открытия редактора Cloud Code.
В терминале Cloud Code (предоставленном в редакторе) выполните:
Примечание: Cloud Code от Back4App использует Node.js версии 14.x, поэтому убедитесь в совместимости.
Создайте или измените main.js в редакторе облачного кода:
Замените 'YOUR_STRIPE_SECRET_KEY' на ваш фактический секретный ключ Stripe.
Примечание по безопасности: Никогда не раскрывайте свой секретный ключ на стороне клиента. Храните его в безопасности в облачном коде.
Нажмите "Развернуть" в редакторе облачного кода, чтобы развернуть ваши функции.
В main.dart, после Parse().initialize, добавьте:
Замените 'ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ_STRIPE' на ваш публичный ключ Stripe.
Добавьте checkout_screen.dart в lib/screens/:
Создайте order_confirmation_screen.dart в lib/screens/:
Измените метод _processPayment для сохранения деталей заказа:
Добавьте order_service.dart в lib/services/:
Добавить order.dart в lib/models/:
Добавить orders_screen.dart в lib/screens/:
Добавить review_service.dart в lib/services/:
Добавить review.dart в lib/models/:
В product_detail_screen.dart, добавьте раздел для отображения и отправки отзывов.
В этом подробном руководстве вы создали приложение электронной коммерции с использованием Flutter и Back4App, интегрированное со Stripe для безопасной обработки платежей через Cloud Code. Вы реализовали ключевые функции, такие как списки продуктов, функциональность корзины покупок, аутентификация пользователей, отслеживание заказов и отзывы.
- Интеграция с Back4App: Упрощает управление бэкендом для вашего приложения на Flutter.
- Интеграция с Stripe через Cloud Code: Безопасно обрабатывает платежи, не раскрывая конфиденциальные ключи.
- Модульная архитектура: Разделение сервисов и моделей улучшает поддерживаемость.
- Улучшение безопасности: Реализуйте правильную обработку ошибок и валидацию ввода.
- Улучшения UI/UX: Усовершенствуйте пользовательский интерфейс для лучшего пользовательского опыта.
- Управление запасами: Обновляйте запасы продуктов после покупки.
- Email уведомления: Отправляйте пользователям электронные письма с подтверждением заказа.
- Админ-панель: Создайте интерфейс администратора для управления продуктами и заказами.
Счастливого кодирования!