Задача
Сделать канал прямых заказов, который открывается из мессенджера и не заставляет клиента искать сайт или устанавливать отдельное приложение. При этом продукт должен обслуживать несколько заведений, разделять их данные и давать команде полноценный рабочий интерфейс.
Что реализовано
- Клиентская Mini App: tenant-aware меню, категории, модификаторы, корзина, оформление заказа, статусы и кабинет.
- Операторская панель для очереди кухни и изменения состояния заказа.
- Административная панель с ролями tenant admin и super admin.
- API для арендаторов, меню, заказов, ролей и контрактов платежных провайдеров.
- MAX Bot gateway с webhook-потоком и HMAC-проверкой подписи.
Архитектурное решение
Commerce-логика вынесена в общий пакет: типы, арендаторы, меню, корзина, checkout и статусы используются разными интерфейсами без дублирования правил. Платформенный слой изолирует MAX, Telegram и обычный web runtime, поэтому подключение нового канала не требует переписывать заказ.
Production и demo арендаторы разделены runtime scope. В продакшене профиль приходит из мессенджера, а демо-режим может безопасно показать интерфейс в обычном браузере.
Что важно для бизнеса
AppFood не конкурирует с сайтом или мобильным приложением. Он сокращает путь от сообщения или акции до оформленного заказа, а операторская и административная части превращают привлекательный webview в управляемый процесс.
Текущий статус
Mini App, API, gateway и панели упакованы в отдельные контейнеры и работают на NAS. Демо открывается по публичному HTTPS-домену. Репозиторий содержит архитектурные правила, матрицу доступа, production checklist и сценарии развертывания.
