Интернет-магазин федеральной розничной сети
Запустили e-commerce платформу с нуля за три месяца и развиваем ее с 2019 года: каталог с матрицей магазинов, доставка по зонам, Scan&Go, программа лояльности и API для мобильных приложений.

- от старта до запуска
- 3 месяца
- заказов в сутки
- 10 000+
- открытие страницы
- 0,5 сек
- развиваем проект
- седьмой год
Задача
Собрать интернет-магазин крупнейшей международной розничной сети — для постоянных и новых покупателей — и связать его с внутренними и внешними сервисами.
Что сделали
Платформу на 1С-Битрикс с оптимизацией под нагрузку: каталог, доставка, личный кабинет, Scan&Go, маркетплейс партнеров и API для приложений и терминалов.
Чем закончилось
Магазин выдерживает 10 000+ заказов в сутки и открывает страницы за полсекунды; проект развивается седьмой год.
С чем пришли
Заказчик — крупнейшая в мире международная розничная сеть товаров повседневного спроса. Название проекта и узнаваемые интерфейсы закрыты NDA, поэтому кейс рассказывает про задачи и решения, а не про бренд.
Сети нужен был не сайт-витрина, а полноценный канал продаж: с матрицей товаров по магазинам, зонами доставки, собственной программой лояльности и оплатой — и все это в единой дизайн-системе, которую заказчик разрабатывал сам.
Второе требование было к срокам и к нагрузке: платформа запускалась в общий сезон акций, а дальше должна была выдерживать пики в праздничные дни, когда трафик и число заказов растут кратно.
- Дизайн-система приходила от заказчика и развивалась параллельно разработке — верстка должна была принимать изменения, а не переделываться под них.
- Магазин встраивался в работающие процессы сети: учет, лояльность, логистика и мобильные приложения уже существовали, и подстраиваться пришлось сайту.
- Нагрузка неравномерная: обычный день и день акции отличаются в разы, и платформа должна держать пик без ручного вмешательства.
Что сделали
Запустили за три месяца
От старта до открытия магазина прошло три месяца — с матрицей ассортимента по точкам и зонами доставки, то есть сразу под сеть, а не под одну витрину.
Собрали витрину и сервисы
Дальше достраивали сервисы — каждый со своей экономикой и своими правилами: подписки, сертификаты, торговлю партнеров, промо-страницы без разработчика.
Открыли платформу наружу
Вывели платформу за пределы сайта: приложения покупателя и сборщика, терминалы в зале, рабочие места операторов и партнеров живут на тех же данных.
Ведем седьмой год
Профайлинг и оптимизация под растущую нагрузку, новые сервисы и интеграции — проект развивается непрерывно с 2019 года.
Как это устроено
Каталог и матрица магазинов
Состав каталога зависит от магазина и зоны доставки: покупатель видит то, что действительно можно привезти по его адресу или забрать в выбранной точке. Поиск построен на Elasticsearch — он держит большой каталог и выдерживает пики трафика.

Корзина и оформление
Время привоза покупатель выбирает слотом при оформлении, а не согласовывает звонком. Оплата картой и через СБП, фискализация и маркировка товаров. Заказ можно отредактировать после оформления — в рознице это обычная ситуация, а не исключение.

Функциональные решения
Способы получения
Доставка, доставка за час, «закажи и забери», самовывоз по интервалам и постаматы — у разных покупок разная срочность.
Согласование замен
Если товара не оказалось при сборке, покупатель подтверждает замену в приложении, а не узнает о ней из пакета.
Scan&Go
Покупатель сканирует товар телефоном прямо в зале и не стоит в очереди на кассу.
Личный кабинет
История онлайн- и офлайн-покупок в одном месте: чек из магазина виден там же, где заказ с сайта.
Лояльность с любимыми категориями
Скидки считаются в корзине, бонусы списываются там же, а часть выгоды покупатель выбирает сам — категориями, которые меняет раз в месяц.
Абонементы и сертификаты
Подписки продлеваются сами регулярным платежом, подарочные сертификаты продаются как обычный товар.
Отзывы и оценки
Отзыв о товаре проходит модерацию по словарям и возвращается в учетную систему сети.
Чат с магазином
Вопрос по заказу решается в переписке с магазином или колл-центром, не выходя из личного кабинета.
Приложение сборщика
На терминале в зале: очередь заказов, ограничения по весу и категориям, сканирование марок, ручной ввес, отчеты по опозданиям и простоям.
Рабочее место оператора чата
Диалоги распределяются сами, у оператора статусы и перерывы, шаблоны ответов и тематики, у руководителя — ежедневные отчеты.
Маркетплейс партнеров
Партнеры торгуют на площадке сети через свой интерфейс управления, не трогая основной каталог; их каталог подтягивается по расписанию.
Заказы на производство
Экраны повара, сборщика и администратора: у готовки свои статусы, и она не притворяется обычной сборкой.
Конструктор экранов
Маркетинг собирает промо-страницы из готовых блоков — без разработчика и без выкладки.
Конкурсы по чекам
Заявки проверяются автоматически — по данным фискального оператора и по офлайн-покупкам, а не глазами модератора.
Экраны под сегменты
Баннеры и посадочные экраны показываются выбранным группам покупателей, а рекламные — с обязательной пометкой.
Технические решения
Битрикс под нагрузкой
1С-Битрикс, доработанный под инфраструктуру проекта: дополнительные базы данных, очереди, глобальное логирование, профайлинг и оптимизация под пиковые дни.
Поиск и кеш
Elasticsearch с Kibana не только под поиск: на него переведены товары каталога, разделы, генерация метатегов и архив заказов. Redis под кеш, сессии и токены авторизации приложений, композитный сайт на фронте — тяжелый каталог отдается из кеша, а не собирается на каждый запрос.
Интеграции
1С, система лояльности, платежные системы (карта и СБП), маркировка, геокодеры, службы доставки, постаматы, SMS, push и e-mail, сервис лендингов, системы аналитики.
Свой сервер очередей
Все долгое вынесено в собственную очередь заданий с типами, воркерами, повторами и мониторингом: импорты, отправка уведомлений, генерация фидов и отчетов, ресайз изображений. Параллельные воркеры на один тип, дедупликация заданий, письмо об ошибке и автоочистка старых — без этого пиковый день упирался бы не в сайт, а в фоновую работу.
База под объем
Типовые структуры платформы на этом объеме перестают справляться, поэтому свойства заказа и корзины хранятся по-своему, а служебные таблицы, которые растут быстрее всех, чистятся по расписанию. Отдельная работа — блокировки на таблице корзин: в пик они видны раньше, чем нехватка процессора.
Устойчивость
Если кеш недоступен, платформа переходит на файловый и продолжает работать. Новые возможности выкатываются под флагами — сначала на тестировщиков, потом на часть покупателей, потом на всех. Интеграции пишут в общий журнал, а на проде работают профилировщик и трассировка: причина сбоя ищется по данным, а не по памяти.
Города и полигоны
Города, регионы и полигоны доставки со своими правилами: от них зависят не только адреса, но и разделы каталога, баннеры, промокоды, подарки и доступные способы оплаты. Малые города привязаны к крупным, чтобы не заводить каждому свою настройку.
Каналы поверх платформы
API мобильных приложений и терминалов сбора данных, генерация фидов для внешних систем, рассылка уведомлений — сайт стал не единственным потребителем данных, а одним из. Уведомления в SMS, push и почту идут через один механизм и одну очередь, с общими лимитами: три отдельные рассылки расходились в поведении и лимитах.
Платформа
1С-БитриксPHPMySQLRedisElasticsearchKibana
Процесс
DockerGitGitLab CIPostmanFigma
Интеграции
1СПрограмма лояльностиОплаты и СБПМаркировкаПостаматыСлужбы доставкиГеокодерыФискальные операторыТоварные рекомендацииSMS, push, e-mail
Платформа работает седьмой год: страницы открываются за полсекунды, магазин держит больше десяти тысяч заказов в сутки и переживает пики акций без ручного вмешательства.
Похожие работы
Все работы
Аксон
Интернет-магазин сети строительных гипермаркетов, мобильное приложение и программа для терминалов в магазинах.
Crazy Iron
Мотозащита напрямую от производителя: самый большой выбор мотоклеток.
Расходникишоп
Интернет-магазин расходных материалов.- 160+проектов с 2009 года
Смотреть все работы
Интернет-магазины, порталы, корпоративные сайты и внутренние системы — от разработки с нуля до многолетнего развития.
