Модули, облака и аналитика: как написать свое IT-решение для ретейла
Объем интернет-торговли в мире стремительно растет. Преимущества цифровых площадок для потребителей понятны, но для ретейлеров процесс запуска онлайн-магазинов часто связан со сложностями. Одна из них — какое решение выбрать, чтобы объединить онлайн и офлайн. IT-компания Flang создала собственный цифровой продукт. Рассказываем, как он устроен.
Какая стояла задача?
Десять лет назад «Кантата», розничная сеть по продаже чая, кофе, сладостей и деликатесов, решила провести цифровую трансформацию. Делать всё необходимо было практически с нуля: доля оборота онлайн-торговли тогда составляла всего 1%. Нужно было построить целую экосистему, чтобы клиенты могли легко выбирать и покупать товары, сотрудникам компании было удобно продавать их, а курьерам — понятно, как и куда доставлять заказы. Другими словами, стояла задача связать онлайн с офлайном, сократить время обработки заказов и упростить логистику.
Каждой функции — свой модуль
У бизнеса были точечные запросы. Поначалу они не казались настолько масштабными, чтобы решать их в одном репозитории. В какой-то момент фич накопилось столько, что их удобнее стало объединять по блокам. В итоге появилось шесть модулей:
- Retail App — приложение для организации продаж в розничной сети.
- Master Data — управление основными данными.
- Loyalty Program — сервис для управления программой лояльности и промокампаниями.
- Dashboards — аналитический сервис по финансовым показателям сети.
- Order Management — сервис для работы с онлайн-заказами.
- Delivery Service — модуль управления доставкой.
Такое разделение дало несколько преимуществ. Во-первых, над каждым сервисом работала выделенная команда, что помогло уменьшить нагрузку на программистов: не нужно было решать сразу несколько разных задач. Во-вторых, модульный подход позволял и позволяет развивать продукты автономно, поскольку они независимы друг от друга. Кроме того, клиент может выбрать один или несколько продуктов вместо того, чтобы покупать всю экосистему.
Облачное решение внутри компании
Внесение изменений в базы данных, когда на компьютерах компании-заказчика стояла система 1С, приводило к тому, что всё начинало подвисать. Чтобы добавить новый функционал или информацию о клиентах и продажах, нужно было смириться с тем, что обмен данными будет проходить несколько часов или даже дней.
Так появилось облачное решение — никаких локальных серверов внутри магазина. Это вариант, который прекрасно подходит для средней торговой сети, когда не нужно учитывать тысячи позиций.
В итоге вместо сотен серверов появился кластер из семи серверов в рамках Kubernetes (K8s) . Благодаря этому скорость обработки информации увеличилась в разы. Бонусом стала экономия места в самих магазинах. Компьютер перестал быть необходимостью — для продаж достаточно стало планшета, на который установлено приложение Retail App.
Планшет вместо компьютера
Отказаться от компьютеров решили потому, что обслуживать планшеты гораздо проще. Они уже идут с антивирусами и лицензиями. Их легче доставлять и отправлять заказчикам. Планшет легко заменить, если необходим новый, и для этого не нужен технический специалист.
Остановились на планшетах с операционной системой Android. Главная причина — они есть везде и они дешевле, чем планшеты с IOS, а значит, проще организовать массовые поставки.
Архитектура системы
В основе продукта лежит микросервисная архитектура. У каждого микросервиса свои задачи, под которые и выбран язык программирования и технологии. Технологический стек представлен ниже:
Ближайшие планы
Сейчас приложениями от Flang активно пользуются более 300 тысяч клиентов трех торговых сетей. Мы создали и поддерживаем сложный софт, который учитывает различные потребности ретейл-бизнеса: благодаря нашим решениям легко сопровождать и завершать сделки, организовывать доставку, запускать промоактивности, анализировать данные, работать с запросами покупателей и многое другое.
Следующий этап, над которым уже работают программисты, — развитие складского учета. Управление складом отдельного магазина уже есть. Осталось запустить решение, которое позволит управлять центральным складом компании, куда приходят заказы товара и где распределяются остатки между магазинами.
Аналитические данные — еще один из приоритетов. Поэтому расширение функциональности Dashboards также в ближайших планах. Цель — создать полноценный корпоративный портал, которым могут пользоваться все сотрудники магазинов не только для того, чтобы узнавать новости компании, но и чтобы иметь доступ к аналитике с обширным набором коммерческих и финансовых показателей.