Переработка действующей системы доставки
Roppongi Family — несколько ресторанов, одна корзина
Переработал действующую систему Roppongi Family — от визуального стиля и ресторанных витрин до корзины, оформления связанных заказов и надёжных уведомлений. С учётом существующего каталога и операционных процессов.
Есть похожая задача? Напишите в Telegram, что уже работает и что нужно изменить.
Контекст
Контекст и задача
Объединить выбор блюд из разных ресторанных точек в понятный сценарий, сохранив отдельные правила доставки, самовывоза и обработки каждого заказа.
Сайт существовал до работы IT Dream. Публичная экосистема объединяет Roppongi Rest, Roppongi, Garage Pub, La Cosa Nostra и Profiteroles. Доставка работает через витрины Family, Rest и Profiteroles. Задачей этапа была глубокая переработка этой действующей системы, а не первоначальная разработка всех сайтов заведений с нуля.
Работа
Что сделано
- 01
Обновил визуальный стиль, структуру, навигацию и представление ресторанных направлений.
- 02
Переработал витрины, корзину и checkout с разделением товаров и правил исполнения по ресторанным источникам.
- 03
Реализовал связанные сценарии заказа, защиту от повторной отправки и отдельный контур уведомлений.
Витрина
Разные источники — единый путь выбора
Family, Rest и Profiteroles сохраняют собственные каталоги и ресторанную принадлежность товаров. При этом посетитель может переходить между витринами и собирать общий заказ, не начиная выбор заново.
Иерархия категорий дополнена виртуальными группами меню. Поиск, фильтрация по ресторану и составу, пагинация и правила доступности блюд помогают ориентироваться в большом каталоге.
Корзина и доставка
Несколько точек в одной корзине
Корзина принимает блюда разных ресторанных источников и показывает их отдельными секциями. В каждой можно выбрать доставку или самовывоз, оставить комментарий и увидеть собственный расчёт товаров, скидок, доставки и итога.
Контакты, адрес, время получения и общий комментарий относятся к единому сценарию оформления. На стороне системы корзина превращается в несколько связанных заказов по точкам — point orders. Каждый сохраняет свой состав и условия исполнения.
Внутренний компонент управления доставкой связывает конфигурацию точек с витриной, корзиной и checkout. Пользователь видит причины разделения заказа, а ресторан получает относящуюся к нему часть.
Инженерная логика
Сначала заказ, затем уведомления
Связанные заказы создаются транзакционно. Система фиксирует согласованную группу целиком, не оставляя частично сохранённый набор point orders.
Idempotency — защита от повторного создания заказа — связывает попытки отправки с одним сценарием оформления. Повторное нажатие не должно создавать ещё одну копию заказа.
Transactional outbox отделяет сохранение заказа от внешней связи. События уведомлений сохраняются вместе с заказом, а затем обрабатываются отдельным контуром. Сбой транспорта не отменяет уже созданный заказ и допускает повторную обработку уведомления.
Telegram, SMS и email получают сообщения с учётом всей группы заказов. Архитектура описана на уровне принципов; адресаты, данные покупателей и конфигурация провайдеров остаются закрытыми.
Интерфейс
От выбора блюда до понятной обратной связи
Карточка блюда открывается в модальном окне и показывает фотографию, состав, выход и цену. После добавления интерфейс подтверждает позицию, точку приготовления и количество.
Эти элементы связаны с логикой каталога и корзины. Визуальное обновление не ограничивается оформлением страниц — оно объясняет пользователю, что происходит с его выбором.
Развитие системы
Новая логика в существующем проекте
Переработка выполнена в совместимости с MODX, miniShop2 и mSearch2. Для доставки и группового checkout выделены собственные компоненты, поэтому изменения критического пути можно вводить поэтапно.
Ресторанная структура учитывается и в desktop-, и в mobile-навигации. Для товарных изображений используются адаптивные WebP-версии и отложенная загрузка. Дополнительные доработки затрагивают управление доставкой, отображение ошибок и связанные пользовательские сценарии.
Роль
Ответственность IT Dream
Егор / IT Dream — глубокая переработка существующей системы, визуального стиля и структуры; ресторанные витрины, разделение доставки по источникам, корзина, checkout, связанные заказы, уведомления и функциональные доработки. Первоначальное создание всей экосистемы и сайтов всех заведений не относится к этому этапу.
Стек
Технологическая основа
- MODX
- miniShop2 / mSearch2
- PHP
- JavaScript / CSS
- MySQL / InnoDB
- Кастомные компоненты доставки и checkout
- WebP / AJAX
Итог
Результат
Пользователь выбирает блюда разных точек в одном сценарии. Корзина явно разделяет состав и условия получения, backend создаёт согласованную группу заказов, а внешние уведомления не определяют успешность их сохранения. Инженерный результат — развитие действующей коммерческой системы с защитой от дублей и отдельной обработкой сбоев связи.
Нужно развить сложный сайт, сохранив рабочие процессы?
Разберу ограничения действующей системы, каталог, корзину и интеграции. Предложу последовательность изменений и проверок перед выпуском.
