Перейти к содержимому
Bitmason

Мобильное приложение для действующего магазина на Shopify

  • Мобильное приложение
  • Интернет-торговля
  • Shopify
  • Админ-панель
  • CI/CD
Главная страница isurve.ge, интернет-магазина в Грузии
isurve.ge, интернет-магазин, для которого создаётся приложение.Открыть isurve.ge
Отрасль
Интернет-торговля
Рынок
B2C
Статус
В разработке
Стек
Flutter, Flask, PostgreSQL, Redis, Meilisearch, React
Страна
Грузия

О клиенте

isurve.ge, интернет-магазин в Грузии, работает на Shopify. Приложение станет новым каналом продаж рядом с сайтом; товары, цены, остатки и заказы остаются в Shopify.

Задача

Дать действующему магазину на Shopify приложения для iOS и Android на трёх языках, не заменяя сам магазин: один каталог, один учёт остатков, один список заказов.

Решение

  • Одно приложение на Flutter для iOS и Android на английском, грузинском и русском
  • Бэкенд на Flask, который держит приложение в согласии с Shopify
  • Поиск на трёх языках на Meilisearch
  • Рекомендации по правилам с весами, которые настраивают сотрудники
  • Оплата картой, наличными при доставке или баллами
  • Push-кампании и рекламные страницы
  • Админ-панель с ролями, вторым фактором входа и журналом аудита
  • Автоматические проверки каждого изменения: типы, тесты, контракт API, безопасность

Источником остаётся Shopify

Товары, цены, остатки, переводы и заказы остаются в магазине клиента на Shopify, сайт не затрагивается. Наш бэкенд импортирует каталог целиком, а затем следует за вебхуками Shopify и отдельным проходом восстанавливает пропущенные события. Заказы из приложения записываются обратно в Shopify, поэтому сотрудники магазина работают там же, где и раньше.

Одно приложение для iOS и Android

Единая кодовая база на Flutter, устроенная по функциям, на английском, грузинском и русском. То, что покупатель уже открывал (товары, категории, характеристики), хранится на устройстве и открывается без связи; для покупки связь нужна.

Что получает покупатель

Главный экран с баннерами, хитами продаж, новинками и двумя предложениями дня; дерево категорий с фильтрами и сортировкой; карточки товаров с галереей с увеличением, характеристиками, аксессуарами и товарами, которые часто покупают вместе. Сравнение до четырёх товаров, история цен, сканер штрихкодов, готовые наборы, избранное, отзывы подтверждённых покупателей, история заказов с повтором в одно касание и тёмная тема.

Поиск на трёх языках

Поиск работает на Meilisearch и принимает запросы на грузинском, русском и английском. Прежде чем выбрать его, мы проверили, как он делит грузинский текст на слова, по порогам, записанным заранее; проверка пройдена, а решение зафиксировано вместе с доказательствами. Сортировка и фильтры, которые выбрал покупатель, всегда важнее персонализации.

Рекомендации, которые может прочитать человек

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

Оплата и баллы

Оплата картой идёт через платёжную страницу Keepz, оплата наличными при доставке сохраняется. Покупатели получают баллы за покупки и могут целиком оплатить ими товары в заказе. Заказ оплачивается одним способом, без смешивания, а каждое движение баллов записывается в журнал, поэтому при возврате баллы списываются обратно.

Админ-панель для сотрудников магазина

Админ-панель на React позволяет менять приложение без выпуска новой версии: дерево категорий, цены доставки, кампании, правила начисления баллов, флаги принудительного обновления и режима обслуживания. В ней работают четыре роли, и что разрешено каждой, решает сервер. Для входа нужен второй фактор, а каждое изменение попадает в журнал аудита, в который можно только добавлять.

Push-кампании и реклама

Сотрудники отправляют push-кампании сегментам, заданным правилами, с учётом согласия, тихих часов и ограничений частоты, и видят показатели доставки. Покупатель, пришедший по рекламе, первым видит рекламируемый товар; открывший приложение напрямую видит хиты недели.

Как ведётся работа

Требования, модель данных, контракт API и более сорока архитектурных решений записаны в репозитории, а открытые вопросы к клиенту пронумерованы и отслеживаются до ответа. Каждое изменение проходит CI: форматирование, статическая типизация, тесты, контракт API, поиск секретов и проверка зависимостей на уязвимости.

На каком этапе

В разработке. Приложение, бэкенд и админ-панель создаются в одном репозитории по письменно зафиксированному объёму, каждое изменение проверяет CI. Скриншоты приложения и результаты появятся после запуска.

Услуги по теме

Следующий кейсСайт на трёх языках для торговой и таможенной компании

Что вы создаёте?

Расскажите о своём проекте. Мы свяжемся с вами, чтобы обсудить объём работ, сроки и первые шаги.

Хотите поговорить раньше?

Записаться на короткий звонок

По рабочим дням, 11:00–21:00 по ташкентскому времени (GMT+5). Обычно отвечаем в течение часа.

0 / 500