food-market/docs/sprint8-progress.md
nns abace49a45
Some checks are pending
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
test(s8-1): SignalR stage e2e + progress
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 19:42:33 +05:00

2.4 KiB
Raw Blame History

Sprint 8 — real-time + Telegram-бот владельца + локализация + MinIO

Цель: добавить «живой» опыт (live-обновление виджетов через SignalR), канал для уведомлений владельцу (Telegram-бот с ежедневной сводкой), английский UI (i18n) и перенести uploads в MinIO/S3.

Старт: 2026-05-31. Исполнитель: Claude Opus 4.7 (автономный режим).

Принципы

  • Multi-tenant обязателен — Hub-группы per-org, OwnerTelegramChatId на Organization, MinIO bucket общий но object-key {orgId}/....
  • Каждый пункт: dotnet build + локальные тесты + ~/deploy-stage.sh + retest на https://test.admin.food-market.kz.
  • НЕ трогать: global.json, прод-стек (admin.food-market.kz), POS WPF.

Чек-лист

  • 1. P2-7 SignalR real-time — Hub /hubs/notifications с группами per-org. События SalePosted/SupplyPosted/LowStock. JWT через query ?access_token= (для WebSocket). Дашборд: live-индикатор Wifi, оптимистическое приращение «Выручка сегодня», toast.info на SupplyPosted, toast.error на LowStock. Тесты: SignalRNotificationsTests (multi-tenant 1/1) + stage-ui-signalr.spec.ts (1/1 ✓). Nginx /hubs/ с upgrade-хедерами и 24h read_timeout.
  • 2. P2-14 Telegram-бот владельца — Hangfire OwnerDailySummaryJob 09:00 МСК, ежедневная сводка (выручка вчера, продажи, топ-3, low-stock). Привязка через deep-link → Organization.OwnerTelegramChatId. UI в OrgSettings.
  • 3. P2-6a Локализация UI (en) — react-i18next, ru.json + en.json, language switcher в header. kz TODO. На стейдже smoke — все страницы переключаются.
  • 4. P2-15 MinIO/S3 для uploadsMinio SDK, bucket food-market-uploads, авто-создание на старте, миграция existing volume. Storage:Type=Local|Minio с fallback на Local. Тесты + UI upload картинки.

Журнал

2026-05-31 — старт

Sprint UI-deep закрыт (docs/sprint-ui-deep-progress.md, 59/59 ✓, 6 багов починены). Перехожу к Sprint 8 пункт 1 (SignalR).