Розничная сеть с франшизой: магазины закупают товары у поставщиков через собственную B2B-платформу сети. Платформа работает в продакшене и расширяется в сторону B2C.
О проекте
Заказчик развивает B2B-платформу, на которой поставщики продают товары магазинам сети. Наша зона ответственности — бэкенд-разработка: производительность каталога, запросов к базе данных и выгрузок.
Через платформу магазины заказывают товары у поставщиков, а в B2C-разделе покупатель может заказать доставку на дом, если в его регионе есть пункт выдачи. Над платформой работают несколько команд: базы данных, каталог, интеграция с мобильным приложением.
Код действующего каталога развивался несколько лет, и его безопаснее улучшать точечно. Поэтому основная работа — оптимизация узких мест, пока другая команда пишет новый каталог.
Задачи проекта
Находить и устранять узкие места в производительности каталога
Ускорять тяжёлые запросы к базе данных без регресса в действующем коде
Сделать выгрузку больших отчётов в Excel устойчивой к нехватке памяти
Поддерживать текущий каталог, пока команда заказчика разрабатывает новый
Как мы это сделали
- 01
Погружение в каталог
Разобрали код действующего каталога и нашли места, где данные запрашиваются из базы в цикле, а не одной выборкой
- 02
Оптимизация запросов
Тяжёлый запрос с объединением таблиц вынесли из проблемного места и разбили на несколько более лёгких
- 03
Выгрузка в Excel
Выгрузка отчётов падала по памяти без сообщений об ошибке. Нашли причину в сторонней библиотеке и переносим формирование файла на отдельное расширение
- 04
Точечные правки
Вносим изменения так, чтобы не вызвать регресс в коде, который нельзя переписать целиком без риска
- 05
Задачи по ТЗ
Берём в работу задачи по готовым техническим заданиям с ожидаемыми сроками и выпускаем их непрерывными релизами по готовности
Кто и на чём
Команда продукта
Стек
Как работаем
Непрерывные релизы по готовности: задачи приходят с готовыми ТЗ и ожидаемыми сроками, тимлид распределяет их по разработчикам, сложность обсуждается на ежедневных стендапах.
Что получил клиент
Платформа продолжает работать и расти, а мы закрываем узкие места действующего каталога, пока команда заказчика готовит ему замену.
Похожаязадача?
Расскажите о ней — подберём команду и предложим решение.
Заявка отправлена
Спасибо! Мы свяжемся с вами в рабочее время.



