Grow Food: Усилить команду бэкенд-разработчиками и улучшить доставку заказов

ЗаказчикGrow Food — сервис доставки правильного питания по подписке в Санкт-Петербурге и Москве. Ежемесячно сервис обрабатывает более 6 млн заказов, помогая оставаться в форме и экономить время на готовку ЗадачаУсилить ИТ-команду опытными бэкенд-разработчиками для разработки новой логистической системы, чтобы ускорить доставку заказов готовой еды

 О клиенте 

Grow Food — сервис доставки правильного питания по подписке в Санкт-Петербурге и Москве. Ежемесячно сервис обрабатывает более 6 млн заказов, каждый из которых помогает пользователям прийти в форму и освободить пару часов времени на готовку каждый день. 

eeba8fbb464e1eece6a8ac3dfe8aaaad.png

ИТ-команда Grow Food разрабатывает и развивает собственные решения: автоматизация производства и склада, обновление приложений и внутренних CRM. Внимание к пользователям позволяет Grow Food лидировать на рынке подписки на доставку здоровой еды и быть прибыльным. А клиенты получают возможность быстро и удобно оформлять заказ — ведь пользователями могут быть и пенсионеры, и занятые мамы с детьми. 

При таких больших объёмах пользователей важно не только обеспечивать устойчивость сервиса, но и доставлять заказы вовремя и с нужным составом. 

Именно поэтому команда Grow Food решила изменить существующую логистическую систему. 

Задача

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

Заказы получают раз в 2–3 дня, и от того, насколько комфортно проходит взаимодействие с доставкой — от оформления заказа до его получения — зависит лояльность пользователей. Благодаря заботе о клиентах, компания поддерживает высокий уровень удовлетворённости доставкой — на уровне 90%.

Как было

  • Прежняя логистическая система написана на монолите.  Любой сбой основного сервиса мог повлиять на работоспособность отдельных элементов. 
  • Основной сервис развивался, и логистика обрастала данными и функционалом, который терял актуальность или не поддерживался. Дашборду не хватало гибкости в настройке фильтров.
  • Низкая скорость синхронизации с админкой — до 1,1 мс.

Вместе с развитием Grow Food было принято решение перевести бэкенд на микросервисы — так система становилась отказоустойчивой и легко масштабировалась. Параллельно нужно было оптимизировать логистическую систему: сделать процесс сборки и отслеживания заказа понятным и гибким.

52cc0cb1ec3e508487dd05a28c18853e.png

Команда Grow Food искала двух бэкенд-разработчиков, которые разбирались бы и во фронтенд-разработке. При этом автономных, которые могли бы работать без отдельной роли аналитика. 

Решение

Продуктовый аутстаффинг ИТ-специалистов

Команда Grow Food обратилась к нам за усилением внутренней ИТ-команды. Поиск специалистов уровня Middle+ / Senior в штат занимал много времени и тормозил процессы. Мы предложили рассмотреть разработчиков Holyweb соответствующего грейда. С момента обращения и обсуждения условий до вывода прошло 3 недели.

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

»‎Наши специалисты на проекте работают с прямыми ожиданиями бизнес-заказчика. Поэтому важна автономность на проекте — возможность самостоятельно находить оптимальные решения, а не работать по готовым ? ТЗ и юзкейсам.?
Мы оперативно предложили специалистов, которые совпадали по грейдам и ставкам с оценкой клиента. При этом специалисты могли стартовать гибко, несмотря на неопределенность по дате старта»?.
— Мария Морозова, руководитель направления аутстаффинга Holyweb

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

Разработка 

Бэкенд

Разработка бэка идёт на PHP 8.1, Laravel версии 10 в качестве фреймворка, Postgres и Redis. Инфраструктура построена на Kubernetes. 

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

  • Laravel сохраняет часто запрашиваемые данные в специальной области памяти, оптимизирует запросы к базе данных и обрабатывает задачи параллельно. 
  • PostgreSQL удобен для работы со структурированными данными, в то время как Redis используется для работы с ключами и значениями в памяти. В связке эти инструменты обеспечивают удобное управление и обработку больших объёмов данных.

Фронтенд 

На фронтенде — Vue и фреймворк Quasar, которые вместе сокращают время разработки за счёт готовых к использованию компонентов.

Quasar позволяет разрабатывать кроссплатформенные приложения, а также обеспечивает адаптивность интерфейса для веб-приложений. 

bd16867a74b4f3d8607ee90c827ca7c6.png

Разработка новой логистической системы

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

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

d783b85d8d3e0fe7b1cd7b054bf1d0b0.png

  • Удобное редактирование карты регионов через выделение рамкой или рисование свободного полигона. 
  • Можно перейти в настройки региона не покидая страницы.
  • Сохранили возможность выбора заказа для исполнителя на экране «Голосование»?. Это один из немногих процессов, где решили обойтись без автоматизации, чтобы курьеры сами регулировали свою загрузку. Поэтому за загрузкой курьеров и исполнением заказов следят бригадиры. 
  • Оптимизировали фильтры в таблице заказов, убрали неиспользуемые и сделали гибкую настройку под конкретных пользователей с возможностью добавлять или убирать колонки. Таблицы со статистикой вписали в адаптивный интерфейс, и это ускорило работу со страницей.

e4cf7ce15a1699f9d29660daf10870ea.png

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

Результат

Подключение двух бэкенд специалистов на срок от полугода помогло инхаус команде GrowFood покрыть 90% бэклога по разработке новой логистической системы. ИТ-команда сервиса потратила минимум усилий на подбор, онбординг, постановку задач, и получила готовый к интеграции сервис.

Команда разработки внедрила новую логистическую систему, основанную на микросервисной архитектуре. Перевод сервиса на микросервисную архитектуру с использованием технологий Laravel, Redis и Postgres позволило повысить отказоустойчивость сервиса и сохранность пользовательских данных в условиях сбоев, связанных с перегрузкой, и сократить стоимость поддержки и развития системы. 

Снизили время, которое требовалось логистической системы для синхронизации с админкой в 2 раза: теперь это в среднем 0,4 секунды вместо 1,1. Так запросы обрабатываются и отображаются в системе с большей скоростью.

0099cd649e7776f117a2d4d3a0764820.png

Работа специалистов Holyweb получила положительный фидбек от Team Lead команды, а логисты и бригадиры — непосредственные пользователи сервиса — оценили интерфейс и производительность, сделали предложения по функциям. 

В планах переход со старой админки на новую логистическую систему. А сейчас новая система решает вопрос страховки на случай падения основного сервиса, частично переняв функционал. 

Отзыв клиента

»? Команда Holyweb продемонстрировала высокий профессионализм и эффективность в процессе разработки новой логистической системы для нашего сервиса доставки готовой еды. Два бэкенд-разработчика уровня Middle+/Senior были привлечены к проекту и успешно интегрировались в команду. 

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

Мы довольны сотрудничеством с Holyweb и готовы рекомендовать их как надежного партнера в области IT-аутстаффинга»? .

— Василий Федянин, Head of Product Development Grow Food

Перейти на сайт

Полный текст статьи читайте на CMS Magazine