[EPIC-INV-003] Culinary Loop & Resource Depreciation
Управление процессами готовки, потребления и порчи продуктов
NoteКраткая карточка epic
- Эпик: (EPIC-INV-003)
- Компоненты: warehouse-fridge-ops, Kafka (KRaft), Mobile App (Buttons: Cook, Consume, Waste)
- Статус: Готово к реализации
- Направление связи: Склад \(\rightarrow\) Kafka (
bpds.inventory.out.fridge_item.consume/waste) \(\rightarrow\) AFFINITY
Бизнес-контекст и цель (Business Context)
Данный контур замыкает Кулинарный Цикл (The Culinary Loop). Нажатие кнопки 3. Cook списывает сырье через команду in.fridge_item.deduct и зачисляет готовое составное блюдо со статусом READY_MEAL обратно через out.meal_item.create. Кнопки Consume (Потребление) и Waste (Мусорка) отправляют асинхронные векторы со знаком (+) или (-) в Kafka для обучения предиктивных моделей ИИ.
Список атомарных задач:
- [Backend] Консьюмер команды на списание [Метод 1]: Реализация обработчика топика
bpds.inventory.in.fridge_item.deductдля запуска FIFO-процесса под готовку (fifo_deduct_command_consumer.py). - [Backend] Эмиттер создания готового блюда [Метод 2]: Реализация публикации события завершения готовки в топик
bpds.inventory.out.meal_item.create(meal_create_producer.py). - [Backend] Эмиттер векторов потребления и утилизации [Метод 3]: Публикация событий в топики
out.fridge_item.consumeиout.fridge_item.wasteдля домена аналитики (depreciation_event_producer.py). - [Frontend] Экран Готовки (Cook) [Экран 1]: Верстка интерфейса кнопки
3. Cookдля сборки блюда по технологической карте рецепта (cook_screen.dart). - [Frontend] Экран Потребления (Consume) [Экран 2]: Доработка логики каскадного списания порций по FIFO на экране кнопки
4. Consume(consume_screen.dart). - [Frontend] Интерфейс Мусорки (Waste) [Экран 3]: Реализация экрана кнопки
5. Wasteдля фиксации и отправки веса испорченной еды в утиль (waste_screen.dart).