Мобильное приложение для B2B
О клиенте
Компания была основана в 1997 году и на сегодняшний день является одним из крупнейших производителей нижнего белья в Беларуси. Компания Conte производит широкий ассортимент нижнего белья, включая различные модели бюстгальтеров, трусиков, корсетов и других изделий. Они также используют различные материалы, включая хлопок, микрофибру, кружево и другие, чтобы предложить различные стили и уровни комфорта для своих клиентов. Кроме того, компания Conte экспортирует свою продукцию в другие страны, такие как Россия, Украина, Польша и другие.
О проекте
Приложение позволяет партнерам заказывать продукцию компании оптовыми партиями. В том числе, заказ может быть оформлен от имени клиента его торговым представителем. Каталог предлагает удобную систему фильтрации, которая учитывает множество параметров, начиная от простых названий до точных размеров, кодов узора, артикулов, цветов и так далее. Приложение локализовано на несколько языков, что делает его доступным для клиентов из разных стран.
В приложении работают не только клиенты, но и менеджеры компании Conte. Они имеют возможность видеть список заказов клиентов, сроки их выполнения, статус, а также управлять этими параметрами.
Цели
Увеличить количество заказов. Привлечь удобными инструментами новых клиентов и партнеров.
Сократить трудозатраты менеджеров. Цифровизация и сведение в одну систему всех процессов работы с заказами.
Ускорение отгрузок. Тесная интеграция площадки для продаж со складами обеспечивает значительное ускорение процесса отгрузки.
- на 70 % Увеличилось количество клиентов за первый год
- > 15000 Активных оптовых покупателей
- в 3 раза Сократились сроки отгрузки заказов
Решение
Ключевым компонентом для реализации поставленных задач стало мобильное приложение, разработанное для смартфонов на Android и iOS. Не менее важной, но скрытой от пользователя является серверная часть, написанная на PHP и обрабатывающая огромное количество запросов от пользователей. О ней мы писали в отдельном обзоре.
Основные возможности, предоставляемые приложением:
- Вход и регистрация. Для входа в приложение используется учетная запись, которая была зарегистрирована ранее и подтверждена менеджером со стороны компании. Эта же учетная запись может быть использована для работы с веб-версией портала.
- Поиск по товарам. В каталоге компании представлен огромный список товарных позиций. Каждая такая позиция находится в одной или нескольких категориях и обладает большим количеством свойств, каждое из которых может быть учтено при поиске. Для сортировки можно использовать как свойства товара, например от маленького размера к большому, так и специальные сортировки, например по релевантности или популярности.
- Карточки товаров. Перейдя на отдельную страницу товара, можно увидеть самую подробную информацию о нём, количество доступных единиц для заказа, посмотреть изображения товара в разных цветах и размерах. Из карточки доступно быстрое добавление понравившихся товарных позиций в корзину для дальнейшего заказа.
- Управление заказами. Отдельный раздел, в котором можно просматривать все активные и завершенные заказы, посмотреть детальную информацию о каждом, а имея роль менеджера появляется также возможность изменить его статус.
- Умная корзина. Место, куда попадают все понравившиеся пользователю товары, подсчитываются предварительная сумма и сроки доставки. Всё содержимое корзины синхронизируется с корзиной на сайте для удобного переключения между версией для компьютеров и смартфонов.
Весь клиентский путь можно разделить на несколько шагов. При первом запуске приложения потребуется войти в свой аккаунт, а если его ещё нет – оформить заявку на регистрацию, которая должна быть одобрена менеджером. Для оформления оптового заказа пользователи как правило используют поиск, добавляют понравившиеся товары в корзину, после чего формируют заказ и ожидают подтверждения менеджера. Если данные заказа удовлетворяют всем требованиям, клиент получит соответствующее уведомление, а заказ перейдет в работу.
Вызовы
Сложная система поиска и фильтрации
Разные товары обладают разным набором свойств, каждое из которых необходимо учитывать при поиске. На серверной стороне такие требования вызывали серьёзные проблемы с производительностью. Немного упрощает ситуацию то, что в рамках одной категории этот набор, как правило, совпадает. Но это лишь допущение, на которое не стоит опираться, а потому нам пришлось всеми возможными способами оптимизировать процесс поиска, о чем было рассказано в отдельном материале.
Для удобной работы с подобной системой поиска в приложении нам потребовалось реализовать большое количество динамических списков. Каждый из них имеет свои способы фильтрации по самым различным параметрам. В результате оптимизаций и проведённых тестов, мы смогли предоставить пользователям понятный, простой, но в то же время очень функциональный поиск.
Офлайн-режим
Пользователь должен иметь возможность создать заказ даже при полном отсутствии интернет-соединения. Поскольку приложение существует уже продолжительное время, выполнить это требование оказалось не так просто. Для решения задачи нам пришлось провести много времени с работой над архитектурой приложения. После этого мы начали шаг за шагом внедрять отдельные модули. Первым на очереди был модуль автоматической предварительной загрузки всех необходимых данных в приложение. Следующим стал модуль создания заказа. Оформленные во время отсутствия интернета заказы будут отправлены на сервер сразу же, как появится такая возможность. Мы также проработали все сценарии того, что может произойти во время нахождения в офлайне. Например, если изменились цены или остатки, приложение покажет пользователю детальную информацию о несоответствиях и даст ему возможность выбрать дальнейшие действия.
Два приложения в одном
Каждый пользователь имеет свою роль, в зависимости от которой меняется доступный в приложении функционал. Было необходимо, чтобы обычный пользователь пользовался приложением даже не подозревая о том, что существует режим для менеджера. Сложность заключалась не только в изоляции этих режимов, но и в оптимизации всего приложения, чтобы ни одна строка кода из режима менеджера не была выполнена в режиме заказчика.
Для этого мы разработали и внедрили отдельную подсистему, которая разделяет функционал пользователей и позволяет менеджерам и клиентам использовать приложение исключительно для своих целей, а разработчикам — работать и поддерживать приложение так, будто внутри него находятся два отдельных, независимых приложения.
Примеры экранов приложения.
Технологии
- Kotlin, Swift, Firebase Analytics, Sentry
Годы работы
2019 — ∞