Кейс: Твой сервис
Сервис доставки продуктов питания и блюд из ресторанов
О проекте
Твой сервис — мультиприложение, объединяющее несколько направлений бизнеса заказчика: доставку еды из ресторанов, доставку товаров из супермаркетов, внутренние сервисы магазинов и систему единой авторизации пользователей.
Проблематика и контекст разработки
За годы развития у заказчика сформировалось сразу несколько сервисов с похожей логикой, но разным функционалом. Проект начал развитие в 2019 году с FOODZO — маркетплейса и базовой платформы доставки. На его основе постепенно появились отдельные сервисы доставки из ресторанов, доставки из супермаркетов, маркетплейс-направления и собственная система идентификации пользователей MANNA ID.
Из-за длительного развития проекта и участия разных подрядчиков:
- интерфейсы отличались друг от друга;
- кодовая база становилась все более сложной;
- пользователи путались в сервисах;
- поддержка и развитие требовали все больше ресурсов.
Перед командой стояла задача создать единое приложение, которое:
- объединяет несколько сервисов доставки;
- работает с общей системой пользователей;
- поддерживает разные роли и уровни доступа;
- обеспечивает стабильность при высокой нагрузке;
- сохраняет накопленную бизнес-логику прошлых проектов.
Дополнительно требовалось обновить визуальный стиль, адаптировать интерфейсы под новый бренд, сохранить совместимость с существующими системами заказчика и минимизировать время и стоимость разработки за счет переиспользования компонентов.
Цель
Разработать единый сервис доставки продуктов питания из супермаркета и блюд из ресторанов, объединив существующие направления бизнеса заказчика в единую цифровую экосистему с общим пользовательским пространством, централизованной системой авторизации и удобным интерфейсом.
Описание реализации кейса и творческого пути по поиску оптимального решения
Команда выбрала путь эволюционного развития вместо полного переписывания системы с нуля. За основу была взята существующая архитектура сервиса Манна. Такой подход позволил:
- сохранить рабочую бизнес-логику;
- быстро запускать новые сервисы;
- сэкономить месяцы разработки;
- минимизировать риски при масштабировании.
Одним из ключевых решений стало создание централизованного сервиса авторизации, который объединил пользователей всех сервисов в единую систему.
Также команда:
- связала между собой сервисы доставки;
- реализовала общую систему ролей;
- внедрила интеграции с 1С;
- настроила единые уведомления;
- создала административные панели для ресторанов, магазинов и операторов.
При этом архитектура осталась гибкой: каждый сервис может развиваться независимо, сохраняя связь через общую инфраструктуру.
Анализ существующей экосистемы
- аудит сервисов Манна;
- анализ пользовательских сценариев;
- выявление пересечений функционала;
- определение точек интеграции.
Ребрендинг и обновление UX
- обновление визуального стиля;
- адаптация интерфейсов под новый бренд;
- переработка пользовательского пути.
Построение общей архитектуры
- создание единой системы авторизации;
- связывание сервисов через API;
- настройка ролей и прав доступа.
Разработка административной инфраструктуры
- панели ресторанов;
- панели магазинов;
- роли курьеров и операторов;
- аналитические инструменты.
Интеграции и автоматизация
- интеграция с 1С;
- Telegram-уведомления;
- Max-уведомления
- Firebas;
- S3-хранилище;
- генерация YML-фидов для Яндекс.Маркета.
Усиление безопасности и отказоустойчивости
- защита от DDoS-атак;
- ограничение серверных доступов;
- двухфакторная авторизация.
Ключевые решения
Единая система пользователей
Административная панель стала центральной точкой авторизации для всей экосистемы. Пользователь получает единый аккаунт для всех сервисов.
Форк-архитектура
Команда использовала переиспользование существующих компонентов и кодовой базы, что значительно ускорило запуск новых направлений.
Единый каталог товаров
Для нескольких сервисов использовалась общая товарная база, что позволило избежать сложной синхронизации данных.
Гибкая ролевая модель
В системе реализованы:
- роли ресторанов;
- роли магазинов;
- роли операторов;
- роли курьеров;
- разграничение доступа к данным и заказам.
Инфраструктура уведомлений
Система уведомлений охватывает:
- push-уведомления;
- SMS-авторизацию;
- сервисные уведомления для администраторов.
Ключевые технологии
- PHP
- Laravel
- Firebase
- 1С
- Telegram API
- S3 Storage
- REST API
- Push Notifications
- SMS Authentication
- Role-Based Access Control (RBAC)
Языки и фреймворки:
- PHP 7.4+
- Yii2 2.0 (Basic Application Template)
Панель управления:
- AdminLTE 2.x (Bootstrap 3 + jQuery 3.6)
- TinyMCE / CKEditor (WYSIWYG-редакторы)
- RBAC на основе Yii2 DbManager
- Log Reader
- Activity Logger
- API:
- REST API (v1, v2, v3) с токенной аутентификацией
- OpenAPI / Swagger (swagger-cli, документация)
- Yii2 HttpClient + Guzzle 7 (внешние HTTP-запросы)
Базы данных и хранилище:
- MySQL 8.0 (несколько схем: основная, товары, доставка, маркетплейс)
- Redis (кэш, сессии)
- AWS S3 / Flysystem
- Очереди и планировщик:
- Yii2 Queue (database-драйвер)
- Supervisor (управление воркерами)
- Cron-задачи
Медиафайлы:
- Yii2-Imagine + ImageMagick
- Генерация штрихкодов
- Генерация QR-кодов
- Gallery Manager
Интеграции:
- Firebase Cloud Messaging
- 1C OData API
- Telegram Bot API
- Яндекс.Карты + генерация YML-фидов для Яндекс.Маркет
- Google API
- SMS.RU + Releans
- phpspreadsheet
Инфраструктура и DevOps:
- Docker / Docker Compose (Nginx + PHP-FPM + MySQL + Redis)
- Supervisor
Мониторинг:
- Sentry / GlitchTip
- Yii2 Debug Toolbar
- File-логи
Архитектура:
- MVC + Service Layer + Active Record
- Repository Pattern
- Многосхемная БД
- Версионирование REST API (v1/v2/v3)
- Codeception (функциональные, REST API и unit-тесты)
Техническая архитектура
Архитектура проекта построена как набор взаимосвязанных сервисов:
- сервис доставки еды;
- сервис доставки товаров;
- единый сервис пользователей;
- административные панели;
- система аналитики;
- система уведомлений;
- интеграционные сервисы.
Интеграции:
- 1С для синхронизации заказов и товаров;
- Firebase для push-уведомлений;
- Telegram для системных уведомлений;
- Яндекс.Маркет для SEO-фидов;
- SMS-сервисы для двухфакторной авторизации;
- S3-хранилище для файлов.
Безопасность:
- двухфакторная авторизация по SMS/email;
- ограниченный доступ между серверами;
- защита от DDoS-атак;
- разграничение ролей и прав доступа.
Кроссплатформенность:
На текущем этапе пользовательская часть реализована как мобильное приложение для iOS и Android.
В дальнейших планах — запуск веб-версии на едином технологическом стеке.
Результаты сотрудничества
В результате проекта заказчик получил:
- единую экосистему сервисов;
- централизованную систему пользователей;
- обновленный бренд и интерфейсы;
- масштабируемую архитектуру;
- систему ролей и аналитики;
- интеграцию с ключевыми внутренними системами;
- устойчивую инфраструктуру для дальнейшего развития.
Проект стал для команды одним из самых масштабных и интересных продуктов в сфере digital-сервисов и доставки. В процессе развития мы постоянно внедряли новые функции, расширяли экосистему и улучшали пользовательский опыт, что позволяло сервису активно расти и укреплять позиции на рынке.
За время сотрудничества с заказчиком удалось выстроить сильное партнерство и высокий уровень доверия — многие технологические решения принимаются совместно, а команда выступает полноценным участником развития продукта.
Результаты в цифрах:
- более 137 000 зарегистрированных пользователей;
- от 100 до 170 заказов ежедневно только в сегменте доставки еды;
- единая инфраструктура для нескольких направлений бизнеса.
Проект продолжает развиваться: команда готовит обновление архитектуры, миграцию на современный стек и запуск новых пользовательских сценариев.














