Авторизация
Сброс пароля
The Storage App: приложения для управления складскими ячейками
1. Вводная задача от заказчика, проблематика, цели
Наш клиент the Storage App — американская компания, предлагающая услугу по хранению имущества на складах. Чтобы пользователи услуги вовремя вносили платежи и управляли своими складскими запасами, the Storage App заказала у Doubletapp приложение: через него можно выбрать тип ячейки, посмотреть фото и узнать ее размер, оформить и оплатить аренду, проверить весь список своих ячеек, погасить очередной платеж или аванс, проверить список всех своих платежей, удаленно выписаться из юнита, если ничего в нем не арендуешь.
Компания the Storage App продвигает приложение через профессиональные рекламные площадки и конференции. Коллеги по рынку увидели перспективу в сотрудничестве через систему White label, то есть владельцам других складов не нужно самим разрабатывать технологию и писать собственное приложение: компании, которые работают с the Storage App, на своей территории могут дистрибутировать приложение и упрощать жизнь рядовым юзерам.
Теперь пользователь при первом входе в приложение вводит Customer Code, который ему передал владелец склада, где он собирается арендовать площади, и сразу попадает на кастомизированную страницу нужного владельца.
Изначально клиент хотел разработать приложение, обеспечивающее доступ авторизованного пользователя к ячейкам, контроль их количества, пост- и предоплату, аренду новых и отключение от неиспользуемых. В актуальной версии добавлены инструменты не только для доступа к ячейке с телефона, но и возможность поделиться доступом на ограниченный период.
В планах — упростить юзерам оплату через приложение, а также подключить партнерские услуги, например, грузоперевозки со склада на склад без участия клиента и подключение аренды на новом складе.
Когда клиент начал работать по системе White Label, чтобы другие компании могли использовать наше приложение для своих клиентов, сформировался новый круг задач — владельцы складов должны иметь возможность кастомизировать блок своего юнита: загружать новые цвета, FAQ, контактные данные, добавлять локации.
✦✦✦
Также понадобилась отдельная версия приложения для менеджеров из компаний, присоединившихся к франшизе. Инструменты менеджерского приложения сосредоточены вокруг NFC-замков, позволяющих открыть и закрыть ячейку с помощью телефона. Разработка ПО замков полностью велась на стороне Doubletapp.
Менеджеру нужно программировать замки и предоставлять доступ, отслеживать, какие ресурсы на конкретном складе оплачены, где есть просрочка, что освободилось; проверять режим использования ячеек. Это делается из соображений безопасности: например, если склад открывается преимущественно ночью, есть вероятность, что там хранится что-то незаконное.
2. Описание реализации кейса и творческого пути по поиску оптимального решения
В итоге мы
• внедрили White label-решение, позволяющее компаниям использовать приложение с уникальным брендированием и настройками;
• создали пользовательскую и менеджерскую версию приложения. Юзеры могут контролировать и оплачивать свои ячейки, а менеджеры — отслеживать доступ, оплату и режим использования складов;
• разработали ПО для NFC-замков на основе готовых плат, которые выбрал клиент;
• создали готовую инфраструктуру — замки и программное обеспечение — которую клиент хочет продавать как отдельный продукт, начало продаж запланировано на ближайшее время.
• внедрили App Clips для iOS и Instant Apps для Android, чтобы пользователи могли делиться временным доступом к ячейке с помощью не требующих установки микроприложений.
Product Owner заказчика и продакт-менеджер со стороны Doubletapp работали в тесном сотрудничестве: продумывали идеи, анализировали метрики, выдвигали гипотезы, проверяли и внедряли их.
В результате нашей совместной работы компания-клиент the Storage App из локального владельца складских помещений, которому нужно было приложение для учета ячеек и оплаты аренды, выросла в дистрибьютора услуг по подключению к сервису.
Все эти работы являются подводной частью айсберга для рядовых юзеров, которые просто пользуются удобным приложением, когда отправляют на склад вещи и оплачивают привычную услугу.
3. Результаты сотрудничества
Изначальный план был простым — небольшое информационное приложение для людей, арендующих ячейки у одной компании. Но очень быстро стали появляться новые идеи и фичи, для реализации которых приходилось постоянно совершенствовать архитектуру проекта.
✦✦✦
WHITE LABEL
Первой такой задачей стал white label. White label product (продукт с белой этикеткой) — это продукт или услуга, произведенные одной компанией, которые другие компании ребрендируют, чтобы они выглядели так, как будто они сами их создали. Наш клиент предлагает коллегам по рынку присоединиться к системе, чтобы рядовые юзеры по всей стране могли с помощью единого приложения контролировать свои складские ресурсы.
Пользователь скачивает наше приложение и вводит код, который определяет, к какому конкретному клиенту он относится — там будут свои локации, цвета, логотипы, картинки и юниты. С технической точки зрения в проект нужно было добавить возможность менять стили (цвета, логотипы и т. д.) через специальную админку. При первом запуске приложения пользователь вводит код или переходит по предоставленной ему ссылке, уникальной для каждой версии приложения, и мы загружаем все необходимые стили с сервера, сохраняем их в локальную базу данных, чтобы в дальнейшем пользователю не приходилось каждый раз ждать полную загрузку стилей.
✦✦✦
ПРИЛОЖЕНИЕ ДЛЯ МЕНЕДЖЕРОВ
Когда было принято решение создать второе приложение для менеджеров компаний, использующих наше решение, в приложение пришла многомодульность. Сначала решили вынести в отдельные модули общие UI-компоненты и функционал white label (никто не хочет писать одно и то же дважды, правда?). Но по ходу развития приложений появлялось все больше и больше похожего функционала и все больше и больше фич выделялись в отдельные модули для упрощения шаринга кода.
Tip for flutter devs
Специально для flutter-разработчиков хотел бы упомянуть утилиту melos, которая сильно упрощает взаимодействие с многомодульными приложениями.
✦✦✦
NFC-ЗАМКИ
NFC-замки — самая сложная фича на текущий момент. Заказчик решил создать собственные замки на основе готовых плат. Платы поставляются с SDK (software development kit) — преднастроенным набором готовых решений: API, фрагментами кода, библиотеками, документацией и т. д. Версии SDK для Flutter не было, поэтому привлекли нативных разработчиков из нашей компании. Большой и дружной командой из разных отделов мы создали библиотеку для Flutter, чтобы управлять NFC-замками на основе готовых плат.
Весь UI этой фичи написан на Flutter, а в момент взаимодействия с физическим замком через NFC мы отправляем команды через Platform channel нативным библиотекам, которые уже в свою очередь перенаправляют ответы от замка обратно во Flutter-часть приложения.
Tips for flutter devs
Пакет Pigeon сильно упрощает взаимодействие между нативной и Flutter-частью, генерируя API и модели для платформенной реализации.
✦✦✦
APP CLIPS ДЛЯ iOS и INSTANT APPS ДЛЯ ANDROID
Чтобы юзеры могли делится ключами от своей ячейки с друзьями, семьей или курьерами из интернет-магазина с помощью мобильного приложения, мы разработали решения для шаринга доступа к замкам через систему временно живущих ссылок: их можно открыть в приложении и получить временный доступ к ячейке. Не все пользователи согласятся устанавливать целое приложение, чтобы один раз открыть ячейку. Тут нам на помощь пришли App Clips для iOS и Instant Apps для Android, разработанные нативными девелоперами нашей команды с использованием ранее написанных нами библиотек для взаимодействия с замками.
App Clips и Instant App — это своего рода маленькие приложения, которые не требуют установки, а мгновенно запускаются на вашем устройстве, позволяя быстро открыть ячейку.
4. Заключение
Проект нашего клиента стал коммерчески успешным, и он решил развивать продукт, приглашая к сотрудничеству владельцев складов из разных регионов США. Компания продвигает приложение через профессиональные рекламные площадки и конференции, коллеги увидели перспективу в эксплуатации общей инфраструктуры: проект реализуется по системе White label, то есть владельцам складов не нужно самим разрабатывать технологию и писать свое приложение, а можно подключится к тому, что уже хорошо работает.
Приложение позволяет компаниям, которые сотрудничают с владельцем приложения, на своей территории дистрибутировать это приложение и упрощать жизнь пользователя, чтобы в перспективе человек из любой части США мог управлять своими складскими ресурсами по всей стране с помощью одного удобного сервиса.