[EPIC-MDM-001] Nomenclature Registry & Nutrient Matrix

Проектирование Периодической системы элементов питания и мастер-справочников

Author

MDM Domain Lead / FoodLifeCycle Team

Published

July 13, 2026

NoteКраткая карточка эпика
  • Эпик: (EPIC-MDM-001)
  • Компоненты: product-registry-service, Mobile App (Buttons: Pantry, Meals), Mdm_db
  • Статус: Готово к реализации
  • Направление связи: Клиент \(\leftrightarrow\) MDM API \(\leftrightarrow\) Mdm_db

Бизнес-контекст и цель (Business Context)

Для корректного сопоставления купленных продуктов (из домена Inventory) с их физико-химическими константами, калорийностью и БЖУ, необходимо реализовать высокопроизводительный статический справочник номенклатур. База данных MDM изолирована и оптимизирована на чтение (Heavy Read).

Список атомарных задач:

  • [Migrations] Схема каталога номенклатур [Метод 1]: Создание структуры таблиц эталонных продуктов, штрих-кодов и весовых коэффициентов (001_init_product_catalog.sql).
  • [Backend] Метод маппинга позиций [Метод 2]: Реализация эндпоинта лингвистического и ID-сопоставления сырых строк из чеков с эталонными позициями (product_resolver.py).
  • [Backend] Кафка-консьюмер шаблонизатора [Метод 3]: Реализация слушателя топика bpds.mdm.out.product.templated для асинхронного сохранения сгенерированных ИИ карточек новых товаров (product_template_consumer.py).
  • [Frontend] Экран Pantry (Продукты) [Экран 1]: Верстка интерфейса кнопки 8. Pantry для просмотра и локального кэширования эталонной матрицы продуктов (pantry_screen.dart).
  • [Frontend] Экран Meals (Меню) [Экран 2]: Реализация интерфейса кнопки 6. Meals для планирования рациона на основе БЖУ (meals_screen.dart).