BR 6.1 — Маркетинговая информация: Декомпозиция

Демо 29.05.2026 — Сценарий 1

Сценарий 1 показа Лидеру департамента: на реальной кассе desktop-pos в зале до прихода гостя крутится брендированная карусель из 3+ слайдов. Превью — HTML-демо.

Источники

СлойДокумент
ТребованиеBR 6.1
Бизнес-спекаМаркетинговая информация
Бэкенд: Store ServiceAPI, Data Model, Events
Бэкенд: POS BFFAPI, Events
Бэкенд: User ServicePermission Catalog
Фронтенд: АдминкаСписок, Редактирование
Фронтенд: POSStandby-режим

Прогресс

  • Store Servicemarketing_slides таблица, CRUD, multipart S3, outbox-publish marketing.slide.changed
  • User Service — миграция permissions marketing.read / marketing.write + назначение системной роли «Администратор»
  • POS BFF — Kafka consumer marketing.slide.changed → SSE marketing.invalidate, новый endpoint GET /pos/api/v1/marketing/active
  • Admin Franchise — sidebar-пункт, страница списка ТТ для маркетинга, страница слайдов ТТ, форма загрузки, drag-and-drop, превью карусели
  • POS DesktopuseIdleTimer hook, route /standby, StandbyScreen с каруселью, расширение useSSE
  • Seed — 3 seed-слайда для демо ТТ (Hero CTA / Замена стека / AI inside)

Затронутые репозитории

РепоЧто
erp-store-serviceBackend CRUD + outbox + S3
erp-user-serviceМиграция permissions
erp-posPOS BFF: consumer + endpoint
erp-adminAdmin web: маркетинг-страницы + Layout
erp-pos-desktopPOS Desktop: idle-timer + standby screen + SSE расширение
erp-infrastructuredocker-compose: добавить S3 бакет erp-marketing-slides + Kafka topic

Порядок реализации

  1. User Service — миграция permissions (без зависимостей, разблокирует RBAC-проверки во всех остальных слоях)
  2. Store Service — таблица + CRUD + outbox + S3 (база для всех потребителей)
  3. Параллельно: POS BFF + Admin — потребители Store Service
  4. POS Desktop — потребитель POS BFF
  5. Seed + e2e тест на test VPS — финальная проверка

Зависимости

  • erp-marketing-slides бакет нужно создать на тестовом MinIO до деплоя Store Service
  • Kafka топик marketing.slide.changed — добавить в kafka-topics-init контейнер инфры

Acceptance criteria для демо

Все 6 пунктов из BR 6.1 Acceptance должны проходить на test VPS на реальной кассе.

Открытые вопросы

  1. Конфиг standby через login-response или отдельный endpoint — в текущем дизайне standby_idle_minutes/standby_transition_seconds приходят в ответе /marketing/active. POS использует их сразу при mount. Альтернативу можно добавить позже
  2. standby_idle_minutes / standby_transition_seconds в админке — на этапе декомпозиции добавить 2 поля в форму редактирования ТТ (Торговые точки — Карточка) — отметить как side-задачу
  3. AI Photo Studio (BR 6.2) — UI-заглушка в Admin (кнопка disabled с tooltip). Реальная интеграция — отдельный BR