Кратко о задаче
Сайт для маркетингового агентства DevMark. Задача — ребрендинг старого сайта и запуск полноценной системы онлайн‑заказов, которая будет работать как для сайта, так и для мобильного приложения. Ключевые требования: удобный каталог с фильтрами, выбор способа получения заказа, расчет доставки по адресу до оплаты, автоматическая маршрутизация заказов в нужное кафе по району, поддержка промокодов, акций и бонусной программы.
[скриншот главной страницы]
Процесс работы
Сайт и backend делал на WordPress с нуля. Готовых шаблонов не было — структура, шаблоны и логика спроектированы и реализованы вручную.Основой e‑commerce выступил WooCommerce, но стандартных сценариев было недостаточно, поэтому большую часть бизнес‑логики вынес в кастомные контроллеры, REST‑эндпоинты и отдельные классы.Для управления контентом и настройками применил ACF — это дало редакторам гибкость, а клиенту — возможность менять структуру блоков и данные без правок кода.Вся критичная логика (авторизация по СМС, выбор адреса, расчет доставки, определение кафе, отправка заказа в CRM, синхронизация с приложением) разложена по отдельным сервисам, чтобы не держать ее в шаблонах.
[скриншот структуры страниц/навигации]
Архитектура и интеграции
Сайт — это не просто витрина, а полноценный backend для заказа и статусов.Под мобильное приложение реализованы REST‑эндпоинты: каталог, категории, карточки товара, корзина, оформление, адреса, профиль, статусы заказов, бонусы и промокоды, пуш‑уведомления. Это позволяет приложению использовать тот же каталог и базу заказов.
[скриншот Swagger/описания REST‑эндпоинтов]Интеграции:
- Frontpad — отправка заказов, передача скидок/бонусов, получение статусов.
- YooKassa — онлайн‑оплата.
- SMS‑сервис — авторизация и подтверждение телефона.
- Telegram — резервная отправка заказов в рабочую группу.
- Яндекс Карты — поиск адреса и определение зоны доставки.
[скриншот настроек интеграций/админки]
Пользовательская часть
Собран полный путь пользователя: главная → каталог → фильтры → карточка товара → корзина → оформление → оплата → статусы заказа.[скриншот каталога и фильтров]Каталог разбит по категориям, добавлены фильтры и быстрые карточки товара.В корзине — контроль состава заказа, работа с промокодами и бонусами.На этапе оформления пользователь выбирает: доставка или самовывоз, видит стоимость доставки сразу и может изменить адрес.Для авторизации и личного кабинета — вход по СМС, без паролей.
[скриншот оформления заказа с выбором доставки]
[скриншот модального окна авторизации по СМС]
[скриншот личного кабинета с историей заказов]
Бонусы, промо и акции
Система акций сделана гибко: возможны промокоды, персональные скидки и бесплатные товары при выполнении условий.Промо‑механики управляются из админки, есть логика исключений и проверки правил.Также добавлена бонусная система (программа лояльности), бонусы можно списывать на этапе оформления заказа.
[пример кастомной формы или таблицы данных]
[скриншот админ‑интерфейса управления промо]
Доставка и география
Расчет доставки привязан к адресу и зоне.Пользователь видит итоговую стоимость до оплаты, а система автоматически определяет ближайшее кафе для отправки заказа.Для этого используется Яндекс Геокодер и внутренний справочник кафе/районов.
[скриншот выбора адреса на карте]
[скриншот зон доставки]
Админ‑часть
В админке реализованы дополнительные разделы:
- управление промокодами и акциями;
- логика бонусов и списаний;
- страницы для управления FCM‑токенами и логами пуш‑уведомлений;
- инструменты для повторной отправки заказов в Frontpad и контроля статусов.
[видео обзора админ‑панели]
[скриншот FCM‑токенов/логов уведомлений]
Результат
Клиент получил единый рабочий контур: сайт и мобильное приложение используют одну базу каталога и заказов, а заказы автоматически маршрутизируются в нужное кафе. Пользователь видит стоимость доставки заранее, может входить по СМС и отслеживать статусы заказа.Цифры разглашать не могу, но результат можно посмотреть на сайте:
[ссылка на проект].