Шаблоны Flutter

Как создать приложение для бронирования событий с помощью Flutter и Back4App

34min

Введение

В современном быстром мире управление событиями и бронированиями через мобильные приложения стало все более важным. Приложение для бронирования событий позволяет пользователям просматривать предстоящие события, бронировать билеты, выбирать места и управлять своими бронированиями без проблем. В этом учебном пособии вы узнаете, как создать полное приложение для бронирования событий с использованием Flutter для фронтенда и Back4App в качестве бэкенд-сервиса.

К концу этого учебного пособия вы создадите функциональное приложение, которое:

  • Отображает список событий с деталями.
  • Позволяет пользователям просматривать расписания событий и информацию о местах проведения.
  • Позволяет бронировать билеты с выбором мест.
  • Обрабатывает платежи безопасно (интеграция с платежным шлюзом).
  • Управляет профилями пользователей, включая историю бронирований и предпочтения.

Давайте начнем!

Предварительные требования

Чтобы завершить это учебное пособие, вам потребуется:

  • Flutter SDK установлен на вашем локальном компьютере. Следуйте официальному руководству по установке Flutter.
  • Базовые знания Dart и Flutter. Если вы новичок в Flutter, рассмотрите возможность прохождения вводного учебника Flutter.
  • Аккаунт Back4App. Зарегистрируйтесь для получения бесплатного аккаунта на Back4App.
  • Back4App Flutter SDK интегрирован в ваш проект. Вы можете узнать, как его настроить, следуя Руководству Back4App по Flutter.
  • Редактор кода такой как Visual Studio Code или Android Studio.
  • Node.js и npm установлены для запуска облачных функций Back4App. Установите их с официального сайта Node.js.

Шаг 1 – Настройка бэкенда Back4App

На этом этапе вы настроите свой проект Back4App, создадите необходимые классы (таблицы) и настроите бэкенд для хранения данных о событиях, информации о билетах и профилях пользователей.

1.1. Создание нового приложения Back4App

  1. Войдите в свою учетную запись Back4App.
  2. Нажмите на "Создать новое приложение".
  3. Введите Название приложения (например, "EventBookingApp") и выберите свой Иконка приложения.
  4. Нажмите "Создать".

1.2. Настройка ключей приложения

  1. Перейдите на Панель управления вашего приложения.
  2. Нажмите на "Настройки приложения" > "Безопасность и ключи".
  3. Запишите Идентификатор приложения и Ключ клиента. Они понадобятся вам для инициализации Parse SDK в вашем приложении Flutter.

1.3. Определите модели данных

Вам нужно создать следующие классы в Back4App:

  • Событие: Хранит детали события.
  • Место: Хранит информацию о месте.
  • Билет: Управляет доступностью и бронированием билетов.
  • Пользователь: Управляет профилями пользователей (класс по умолчанию).

Создайте класс события

  1. В левом боковом меню нажмите на "База данных" чтобы открыть Обозреватель данных.
  2. Нажмите на "Создать класс".
  3. Выберите "Пользовательский", введите "Событие" в качестве имени класса и нажмите "Создать класс".
  4. Добавьте следующие столбцы в класс Событие :
    • имя (Строка)
    • описание (Строка)
    • дата (Дата)
    • изображение (Файл)
    • место (Указатель на Место)
    • цена (Число)

Создайте класс Место

  1. Повторите шаги, чтобы создать новый класс с именем "Место".
  2. Добавьте следующие столбцы:
    • имя (Строка)
    • адрес (Строка)
    • вместимость (Число)
    • планСидений (Файл)

Создайте класс Ticket

  1. Создайте новый класс с именем "Ticket".
  2. Добавьте следующие столбцы:
    • событие (Указатель на событие)
    • пользователь (Указатель на пользователя)
    • номер места (Строка)
    • цена (Число)
    • забронировано (Булевый)

1.4. Включите аутентификацию пользователя

  1. В левой боковой панели нажмите на "Настройки сервера" > "Общие настройки".
  2. В разделе "Аутентификация", убедитесь, что "Включить разрешения на уровне класса" отмечено.
  3. Настройте разрешения класса Пользователь для разрешения пользователям регистрироваться и входить в систему.

1.5. Настройка облачных функций (необязательно для обработки платежей)

Для интеграции платежей вам может понадобиться написать облачные функции. Этот шаг будет зависеть от платежного шлюза, который вы выберете (например, Stripe, PayPal). Обратитесь к документации Back4App по Облачные функции кода.

Шаг 2 – Инициализация проекта Flutter

На этом этапе вы настроите проект Flutter и интегрируете Back4App Parse SDK.

2.1. Создать новый проект Flutter

Откройте терминал и выполните:

Bash


Перейдите в каталог проекта:

Bash


2.2. Добавить зависимости

Откройте pubspec.yaml и добавьте следующие зависимости:

YAML


Запустите flutter pub get для установки пакетов.

2.3. Инициализация Parse SDK

В lib/main.dart, импортируйте необходимые пакеты и инициализируйте Parse:

Dart


Замените 'YOUR_BACK4APP_APPLICATION_ID' и 'YOUR_BACK4APP_CLIENT_KEY' на ваши реальные ключи из Back4App.

Шаг 3 – Реализация аутентификации пользователей

Пользователи должны зарегистрироваться и войти в систему, чтобы забронировать мероприятия и управлять своими профилями.

3.1. Создание экранов аутентификации

Создайте два новых файла Dart в lib/:

  • login_screen.dart
  • signup_screen.dart

login_screen.dart

Dart


signup_screen.dart

Dart


3.2. Обновите main.dart с маршрутами

Dart


3.2. Обновите main.dart с маршрутами

3.3. Реализация главного экрана

Создайте файл home_screen.dart, куда будут перенаправлены аутентифицированные пользователи.

Dart


Шаг 4 – Отображение событий

Получите события из Back4App и отобразите их в списке.

4.1. Создание модели события

Создайте класс Dart event.dart в lib/models/.

Dart


4.2. Получение событий на главном экране

В home_screen.dart, получайте события и отображайте их.

Dart


4.3. Создание экрана деталей события

Создать event_details_screen.dart.

Dart


Шаг 5 – Реализация выбора мест

Позвольте пользователям выбирать места перед бронированием.

5.1. Создать экран выбора мест

Создайте seat_selection_screen.dart.

Dart


Шаг 6 – Обработка платежей

Интегрируйте платежный шлюз для безопасной обработки платежей за билеты.

6.1. Выберите платежный шлюз

Для этого учебника мы будем предполагать использование Stripe.

6.2. Настройте учетную запись Stripe и получите ключи API

  1. Зарегистрируйтесь для получения учетной записи Stripe.
  2. Получите ваш Публикуемый ключ и Секретный ключ.

6.3. Добавьте зависимость Stripe

Добавьте stripe_payment пакет в ваш pubspec.yaml:

YAML


Запустите flutter pub get.

6.4. Реализация экрана оплаты

Создайте payment_screen.dart.

Dart


Примечание: Обработка платежей требует безопасного обращения с конфиденциальными данными. В производственном приложении вы должны обрабатывать платежи безопасно, используя свой собственный сервер или облачные функции.

Шаг 7 – Управление профилями пользователей

Позвольте пользователям просматривать и управлять своими бронированиями и предпочтениями.

7.1. Создать экран профиля

Создать profile_screen.dart.

Dart


7.2. Добавить навигацию на экран профиля

В вашем home_screen.dart или главном навигационном меню добавьте ссылку на экран профиля.

Dart


Шаг 8 – Тестирование приложения

Запустите ваше приложение с помощью:

Bash


Проверьте следующие функции:

  • Зарегистрироваться и войти.
  • Просмотреть список событий.
  • Просмотреть детали события.
  • Выбрать места и перейти к оплате.
  • Обработать платеж (в тестовом режиме, если возможно).
  • Просмотреть бронирования в профиле.

Заключение

Поздравляем! Вы создали полное приложение для бронирования событий с использованием Flutter и Back4App. Это приложение позволяет пользователям просматривать события, бронировать билеты с выбором мест, обрабатывать платежи и управлять своими профилями и бронированиями.

Отсюда вы можете улучшить свое приложение, добавив:

  • Добавление push-уведомлений для напоминаний о событиях.
  • Реализация поиска и фильтрации событий.
  • Улучшение UI/UX с помощью лучшего дизайна и анимаций.
  • Обеспечение безопасности обработки платежей с помощью серверной валидации.

Для получения дополнительной информации о функциях Flutter и Back4App, ознакомьтесь с:

Интегрируя Flutter с Back4App, вы используете мощное сочетание для эффективной разработки масштабируемых, богатых функционалом мобильных приложений.