VariZavari - мобильное приложение для сети магазинов-кофеен по продаже чая и кофе

VariZavari - мобильное приложение для сети магазинов-кофеен по продаже чая и кофе

Задача

Вам приходилось когда-нибудь пробовать вкуснейший отборный авторский чай, привезенный прямо с плантации Китая или Индии?

Компания нашего "Заказчика" имеет собственный завод по производству авторского чая и кофе, которые должен попробовать каждый. В результате поставленной цели была запущена сеть магазинов-кофеен под названием VariZavari, где каждый желающий может попробовать лучший кофе и чай, собранные с плантаций по всему миру, а также приобрести листья чая или зерна кофе для приготовления изысканных напитков прямо у себя дома.

Несмотря на то, что "Заказчик" делает классную продукцию, её нужно продавать. И одним из решений увеличения известности бренда VariZavari и роста продаж было предложено разработать мобильное приложение с программой лояльности (как основа были взяты примеры с таких компаний, как: "Вкусно и Точка", Burger King, KFC).

Мы отобрали самые лучшие и удобные моменты в приложениях вышеупомянутых компаний и предложили "Заказчику" реализовать часть из их решений в нашем мобильном приложении. В итоге обсуждения, мы пришли к выводу, что нам требовалось реализовать следующий функционал (часть которого отсутствует и в приложениях вышеупомянутых компаний):

1. Бонусная система.
2. Реферальная система.
3. Быстрая регистрация и авторизация.
4. Возможность покупки подарочных карт.
5. Каталог с полноценным интернет-магазином.
6. Функционал генерации QR-кода и синхронизации его с онлайн-кассой "Заказчика" для списания баллов в рамках бонусной системы.
7. Подключений онлайн-карты со списком всех магазинов сети.
8. Новостная система (информация о скидках и акциях).

Решение

1. Проведение анализа и написание технического задания.

Первым шагом был проведен анализ текущей ситуации на рынке конкурентов. Были сведены цифры, рассчитан потенциальный "выхлоп" от применения того или иного функционала. В итоге составлен итоговый необходимый список решений, который позволил запускать мобильное приложение по шагам, используя методологию SCRUM и начать с запуска MVP (минимально жизнеспособного продукта). На данном шаге было написано техническое задание, определен стек технологий (Swift, Kotlin, Bitrix D7 Framework, PHP 8, HTML/CSS, JavaScript, GIT, Figma), и составлен график работ.

2. Разработка интерактивного дизайна.

На текущий момент мы плотно работаем с понятием интерактивного дизайна. При реализации каждого проекта мы настраиваем связи между элементами интерфейса (кнопками и ссылками), в результате "Заказчик" может видеть каждое действие еще до его реализации, нажимая на кнопку ему будет открываться тот дизайн, открытие которого заложено в этой кнопке. Таким образом упрощается и написание технического задания, в которое требуется закладывать только суть сложных элементов (например: расчет реферальной системы или функционал взаимодействия с кассой), а остальное просто не требует описания, так как визуально видно механизм работы непосредственно на дизайне.

3. Программирование серверной части.

Для любого мобильного приложения, хранящего данные, доступные извне, требуется взаимодействие с каким-либо сервером и внешней базой данных. Для этого пишется REST API. Для реализации REST API в нашем случае выбор пал на язык программирования PHP и на 1С-Битрикс с использованием их фреймворка D7. Административная панель битрикса позволила нам упростить управление содержимым мобильным приложением, так как вся бонусная система, ведение заказов, онлайн-кассы, список новостей, зашиты в админку Битрикса, данные из которой поступают в мобильное приложение и в самом мобильном приложении кэшируются внутренней базой данных.

4. Программирование мобильного приложения под Android.

Android-версия мобильного приложения запрограммирована на базе нативного языка Kotlin.

5. Программирование мобильного приложения под iOS.

iOS-версия мобильного приложения запрограммирована на базе нативного языка Swift.

6. Микропрограмма на онлайн-кассе.

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

7. Тестирование продукта.

После реализации было проведено детальное тестирование функционала мобильного приложения и системы управления на стороне сервера, выполнена корректировка всех возникающих ошибок.

8. Публикация мобильного приложения.

Несмотря на ограничения со стороны Apple и Google мы нашли способы публикации мобильного приложения в Google Play и Apple Store. В итоге приложение доступно для скачивания каждому нашему пользователю из внутренней среды операционных систем.

9. Инструкции.

Для "Заказчика" были написаны инструкции и проведены соответствующие онлайн-конференции, где мы научили менеджеров пользоваться всей системой.

Результат

В результате весь функционал задуманный в мобильном приложении был реализован:

1. Бонусная система.

Пользователи нашего приложения имеют возможность копить бонусы и оплачивать покупки с их помощью. Алгоритм прост и схож со многими компаниями, с каждой покупки на внутренний кошелек зачисляется определенная сумма баллов, которой можно оплатить любую следующую покупку.

2. Реферальная система.

Мы прекрасно видим, как банки завлекают новых пользователей с помощью реферальных систем. В нашем случае мы разработали двухуровневую реферальную систему, которая позволяет выдать своему другу или любому знакомому уникальный код пользователя, который данного знакомого закрепит за Вами и в итоге с каждой покупки знакомого в кофейне VariZavari Вам будут начисляться бонусы, которыми Вы можете оплатить любую покупку.

3. Быстрая регистрация и авторизация.

Для регистрации и авторизации используется абсолютно одинаковый шаг - указание номера телефона. Далее Вам поступает звонок и нужно вбить 4 последние цифры этого звонка (сделано с целью экономии средств "Заказчика"). Если звонок не поступил, то Вам уходит смс-сообщение для авторизации или регистрации в системе.

4. Возможность покупки подарочных карт.

Был реализован механизм сборки подарочных карт, Вы можете подарить другу карту с номиналом, которая поступит в его личный кабинет в мобильном приложении и с помощью QR-кода Ваш друг сможет списать баллы с данной подарочной карты при любой покупке.

5. Каталог с полноценным интернет-магазином.

В приложении был зашит функционал интернет-магазина, который позволяет покупать товары нашего "Заказчика" с доставкой в нужный магазин или курьером.

6. Функционал генерации QR-кода и синхронизации его с онлайн-кассой "Заказчика" для списания баллов в рамках бонусной системы.

Был реализован механизм генерации уникального для каждого пользователя QR-кода, который позволяет списывать баллы бонусной и реферальной системы. Также написана микропрограмма для обработки QR-кода на кассе.

7. Подключений онлайн-карты со списком всех магазинов сети.

Данный функционал позволяет пользователям быстро находить нужный ему магазин.

8. Новостная система (информация о скидках и акциях).

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



Общим результатом стало:

Рост продаж в новых кофейнях в 3 раза, люди стали приводить своих друзей по реферальной системе. В первую неделю мы зарегистрировали 400 новых пользователей. На текущий момент идет сбор товаров со стороны "Заказчика" для каталога и вывода функционала интернет-магазина на публичную часть.



Для тестовой авторизации в приложении можно использовать следующие данные (звонок в данном случае не поступит):
Номер телефона: +7 (953) 559-05-05
Код-пароль: 1111

Работа выполнена в соавторстве

Романченко Дмитрий Константинович - iOS разработка
Матвеева Арина - дизайнер