- PHP · Symfony / Laravel
- PostgreSQL
- Redis
- Docker / Podman
- GitLab CI/CD
Задача
Площадка работала на устаревшей кодовой базе: рост каталога и числа продавцов упирался в архитектуру, а каждая доработка начиналась с обхода накопленных ограничений.
Остановить торговлю на время переписывания было нельзя — площадка приносила выручку, и вместе с кодом терялась бы работающая торговая логика: правила продавцов, расчёт цены под заказ, сценарии покупки.
Решение
Backend и frontend переработаны целиком, торговая логика сохранена. Система разделена на ограниченные контексты — доступ и роли, каталог, продавцы, заказы, платежи, — каждый со своей моделью данных, поэтому изменение в одном не задевает остальные. Каталог держит базовые товары, вариации и атрибуты, продавцы проходят модерацию, а жизненный цикл заказа отделён от проведения платежа.
Серверный рендеринг отвечает за скорость первой загрузки и индексацию, интерактив добавлен точечно. Тяжёлые операции — письма, обработка изображений, отчёты — вынесены в очередь на Redis, данные хранятся в PostgreSQL. Перенос шёл без остановки продаж.
Результат
Площадка переведена на новую архитектуру без остановки торговли и без потери торговой логики. Каталог, продавцы и объём операций растут в пределах, заданных новой базой, а не прежним кодом: развитие идёт доработками, а новый раздел появляется отдельным контекстом, а не правкой всего сразу.
Ход работы
- 11.2025Взят в проект
- 11.2025Старт разработки
- 01.2026Каталог и кабинеты поставщиков
- 04.2026Запуск
- 04.2026Сдан