food-market/docs/sprint4-progress.md
nns d5d185cba3 docs(sprint4): чек-лист — POS Sync API + Prometheus
3 пункта (WPF UI вынесен на Windows-этап).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 12:00:25 +05:00

1.8 KiB
Raw Blame History

Спринт 4 (частичный) — POS Sync API + observability

Автономная работа. WPF/POS-UI (food-market.pos, net8.0-windows) на Linux не собирается — пропускаем. Здесь только API-сторона синхронизации и метрики.

После каждого пункта: dotnet build (SDK 8.0.126), unit + integration тесты, коммит порцией, отметка [x], коммит прогресса.

Чек-лист

  1. P1-12a Контракты POS в food-market.shared — DTO ProductSyncDto, PriceSyncDto, StockSyncDto, CounterpartySyncDto, PosSaleBatchDto (с idempotency-key). Версионирование через namespace v1.
  2. P1-12b POS Sync APIGET /api/pos/sync?since={iso8601} возвращает изменения после ts (товары, цены, остатки, контрагенты). POST /api/pos/sales принимает батч продаж с idempotency-key (повторный запрос возвращает прежний результат без дублей). Multi-tenant: POS-токен ↔ один магазин.
  3. P1-17 Метрики Prometheusprometheus-net.AspNetCore, /metrics. http_requests_total, http_request_duration_seconds, db_query_duration_seconds (через EF interceptor), бизнес: sales_posted_total, supplies_posted_total, documents_error_total. docs/observability.md с образцом Grafana dashboard.

Лог

  • Каждый пункт: build + тесты + коммит порцией + отметка [x] + коммит прогресса.
  • Все правки на main (origin Forgejo), без коммита global.json.