Задача
Дать клиенту возможность выбрать блюда и уточнить порции и пожелания, а кухне — получить однозначный заказ. Одного списка блюд недостаточно: нужно сохранить состав на момент отправки, дату, комментарии и состояние заказа.
Сценарий клиента
Клиент выбирает готовое меню или собирает рацион из трёх–пяти блюд. Можно менять доступную порцию, оставлять комментарии и смотреть фактическую сумму калорий и БЖУ.
Перед отправкой есть экран проверки. В разделе «Мои рационы» доступны заказы по датам, состав и статусы. Незавершённые изменения отделены от уже отправленного заказа.
Рабочее место кухни
В админке находятся клиенты, заказы, блюда, готовые рационы, источники данных и настройки. Для выбранной даты можно посмотреть сводку того, что нужно приготовить.
После подтверждения повар получает сообщение в Telegram с составом заказа. Действия «Принять» и «Приготовлено» меняют статус, который видит клиент.
Данные и важные ограничения
Каталог собирается из Google-таблиц. Варианты с разными ингредиентами или граммовками сохраняются отдельно, а у рецепта остаётся связь с источником.
Отправленный заказ хранит снимок выбранных рецептов: последующее изменение каталога не переписывает его состав. После принятия заказа изменения согласуются с кухней. Повторная отправка одинаковой версии блокируется.
Что показывает этот проект
Здесь соединены клиентский интерфейс, административная часть, импорт данных и обмен событиями с Telegram. Ценность разработки — в законченном рабочем сценарии для обеих сторон, включая проверку заказа и обработку изменений.

