Doubletapp
the Storage App: приложения для управления складскими ячейками
Doubletapp
WDA
2024
#Приложение под ключ

the Storage App: приложения для управления складскими ячейками

3047 
Doubletapp
Doubletapp Россия, Екатеринбург
Поделиться:
Клиент

NDA

Сфера

Услуги

Регион

США

Сдано

Август 2023

Задача

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

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

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

2. Также понадобилась отдельная версия приложения для менеджеров из компаний, присоединившихся к франшизе. Инструменты менеджерского приложения сосредоточены вокруг NFC-замков, позволяющих открыть и закрыть ячейку с помощью телефона. Разработка ПО замков полностью велась на стороне Doubletapp.

Менеджеру нужно программировать замки и предоставлять доступ, отслеживать, какие ресурсы на конкретном складе оплачены, где есть просрочка, что освободилось; проверять режим использования ячеек. Это делается из соображений безопасности: например, если склад открывается преимущественно ночью, есть вероятность, что там хранится что-то незаконное.

Решение

1Изначальный план

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

2White label

Первой такой задачей стал white label. White label product (продукт с белой этикеткой) — это продукт или услуга, произведенные одной компанией, которые другие компании ребрендируют, чтобы они выглядели так, как будто они сами их создали. Наш клиент предлагает коллегам по рынку присоединиться к системе, чтобы рядовые юзеры по всей стране могли с помощью единого приложения контролировать свои складские ресурсы.

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

3Приложение для менеджеров

Когда было принято решение создать второе приложение для менеджеров компаний, использующих наше решение, в приложение пришла многомодульность. Сначала решили вынести в отдельные модули общие UI-компоненты и функционал white label (никто не хочет писать одно и то же дважды, правда?). Но по ходу развития приложений появлялось все больше и больше похожего функционала и все больше и больше фич выделялись в отдельные модули для упрощения шаринга кода.

Tip for flutter devs

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

4NFC-замки

NFC-замки — самая сложная фича на текущий момент. Заказчик решил создать собственные замки на основе готовых плат. Платы поставляются с SDK (software development kit) — преднастроенным набором готовых решений: API, фрагментами кода, библиотеками, документацией и т. д. Версии SDK для Flutter не было, поэтому привлекли нативных разработчиков из нашей компании. Большой и дружной командой из разных отделов мы создали библиотеку для Flutter, чтобы управлять NFC-замками на основе готовых плат.

Весь UI этой фичи написан на Flutter, а в момент взаимодействия с физическим замком через NFC мы отправляем команды через Platform channel нативным библиотекам, которые уже в свою очередь перенаправляют ответы от замка обратно во Flutter-часть приложения.

Tips for flutter devs

Пакет Pigeon сильно упрощает взаимодействие между нативной и Flutter-частью, генерируя API и модели для платформенной реализации.

5App Clips для iOS и Instant Apps для Android

Чтобы юзеры могли делится ключами от своей ячейки с друзьями, семьей ли курьерами из интернет-магазина с помощью мобильного приложения, мы разработали решения для шаринга доступа к замкам через систему временно живущих ссылок: их можно открыть в приложении и получить временный доступ к ячейке. Не все пользователи согласятся устанавливать целое приложение, чтобы один раз открыть ячейку. Тут нам на помощь пришли App Clips для iOS и Instant Apps для Android, разработанные нативными девелоперами нашей команды с использованием ранее написанных нами библиотек для взаимодействия с замками. App Clips и Instant App — это своего рода маленькие приложения, которые не требуют установки, а мгновенно запускаются на вашем устройстве, позволяя быстро открыть ячейку.

Результат

В итоге мы

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

Создали пользовательскую и менеджерскую версию приложения. Юзеры могут контролировать и оплачивать свои ячейки, а менеджеры — отслеживать доступ, оплату и режим использования складов.

Разработали ПО для NFC-замков на основе готовых плат, которые выбрал клиент.

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

Внедрили App Clips для iOS и Instant Apps для Android, чтобы пользователи могли делиться временным доступом к ячейке с помощью не требующих установки микроприложений.

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

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

https://doubletapp.ai/projects

Стек технологий

  • Kotlin Kotlin Язык программирования
  • Swift Swift Язык программирования
  • Flutter Flutter Фреймворк/библиотека

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Doubletapp с удовольствием обсудит вашу задачу

Оставить заявку