Заказчик обратился к нам уже который раз, довольный нашими предыдущими решениями в области автоматизации бизнеса, в частности для его компании SNPMarket. Ранее, мы делали ему сайт, автоматизацию и оцифровку склада, сервис логистики... всего и не перечислишь!
В этот раз предстояло подумать, как разгрузить очередь к кассам и улучшить качество и скорость обслуживания для постоянных оптовых клиентов.
Задачи
Основной сегмент пользователей нашего ресурса являются оптовые покупатели. Именно из за их запросов сформировалась идея реализовать модуль PickPoint. Боли, с которыми сталкивались наши клиенты:
Чтобы выполнить задачи по аппаратной части и сделать полностью автоматический и надежный шкаф самовывоза, нужно было изучить готовые аналогичные решения конкурентов. Найти их сильные стороны, чтобы сделать еще круче у SNPMarket, и слабые, чтобы у нас они не появились.
В частности, было решено отказаться от дополнительного терминала, что обычно сопутствует подобным шкафам-постаматам. Так как сервис нацелен в первую очередь на оптовых клиентов - у них есть учетная запись на сайте, а соответственно гораздо проще будет управлять доступом через ЛК.
Кроме конкурентного анализа, задача аппаратников - определить основные узлы, необходимые для работы ячейки в режимах загрузки и выгрузки, выбрать элементную базу, контроллеры.
В качестве контроллеров аппаратной части были выбраны Arduino Nano, отдавать им команды и слушать состояние будет сервис на Orange PI.
На основе собранной информации по болям ЦА и анализу предметной области, в частности конкурентный анализ и выбор аппаратной части, были выдвинуты следующие гипотезы:
Как обычно, дизайн начался с дискуссии и прототипов. А что вообще нужно клиенту видеть на экране? Нужен ли состав заказа, хранимого в ячейке? Кто-то шутку провел аналогию с банковской ячейкой, но, неожиданно идея всем понравилась -- ведь банк это НАДЕЖНОСТЬ ;)
В проектирование интерфейса PickPoint использовали разработанную ранее дизайн-систему для SNPMarket, из новых элементов, которые нужно было придумать и реализовать, это сами ячейки-сейфы. Хотелось, чтобы дверь "сейфа" отражала его текущее состояние. Планировали сделать, чтобы дверь открывалась, но в итоге отказались от сложных анимаций в пользу производительности на слабых мобильных устройствах.
Процесс открытия ячейки на сайте или в приложении совпадает с реальным, физическим открытием ячейки в точки выдачи.
Самая важная задача в таком проекте - достичь максимальной простоты и надежности. Чтобы и кладовщики и клиенты могли без танцев с бубном пользоваться всем доступным функционалом и при этом система была бы гибкой и отказоустойчивой. Для этого мы:
Когда собрали и протестировали макетную плату - взяли текстолит и старым дедовским способом с помощью утюга, принтера и какой-то матери сделали настоящие печатные платы. Намучались мы с ними изрядно, поэтому следующую партию заказали уже на заводе.
После сборки готового устройства выяснилось, что витая пара очень чувствительна к окружающим наводкам, что отрицательно влияло на надежность данной системы. Ну что ж, снова засучили рукава, заменили витуху на экранированную, сократили общую длину трасс более чем в 4 раза. Еще одним подводным камнем оказалось, что пружина замка, которая отталкивает дверь при открывании, не справляется с пружинами мебельных петель. Замки менять не стали, приделали к дверцам маленькие ручки.
Необходимо было учесть 2 бизнес-сценария (а впоследствии добавился ещё один) - загрузки и выгрузки ячейки.
Дополнительную сложность добавляло то, что все 3 эндпоинта физически находились на разных серверах. Спасибо линуксу, быстро подняли необходимые тоннели. В качестве протокола взаимодействия выбрали WebSocket. Все модули, как повелось, независимые.
По итогу мы разработали рабочие прототипы и дали доступ группе постоянных оптовых покупателей. На протяжение двух недель проходило тестирование отловка багов и сбор фидбека от покупателей.
- Первый раз занимались организацией взаимодействия микроконтролера и интернет-магазина;
- Работа в которой были одновременно задействованы сотрудники разных профилей и компетенций;
- Реализовали полезное для бизнеса IoT-устройство.