feat(F-148): completed feature
This commit is contained in:
45
work/artifacts/F-148/architect.md
Normal file
45
work/artifacts/F-148/architect.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# F-148 — Architect
|
||||
|
||||
## Feature
|
||||
Admin: sales dashboard and channel views.
|
||||
|
||||
## Background
|
||||
F-146 implementó ReportingService (summary + sales endpoints). F-147 creó la shell admin (filters, KPI grid, dataAvailability). F-148 presenta los datos reales en un dashboard con tendencias, desglose por canal y ranking de tiendas/terminales.
|
||||
|
||||
## Objetivo
|
||||
- Dashboard `/reporting/dashboard` con:
|
||||
- Tendencias de ventas (bar chart por día/semana)
|
||||
- Desglose por canal (ecommerce vs POS vs admin)
|
||||
- Top tiendas por ventas
|
||||
- Top terminales POS
|
||||
- Reusar: DateRangePicker de F-147, reporting-client.ts
|
||||
|
||||
## Diseño
|
||||
|
||||
### Tendencias (bar chart SVG)
|
||||
- Fetch `/api/reporting/sales?groupBy=day&pageSize=90` (últimos 90 días)
|
||||
- Render barras SVG con altura proporcional al grossSalesCents
|
||||
- Tooltip on hover (día + importe)
|
||||
- Período configurable (7d / 30d / 90d)
|
||||
|
||||
### Desglose por canal
|
||||
- Fetch con `groupBy=channel`
|
||||
- Mostrar 3 cards: ecommerce / POS / admin
|
||||
- Cada una con: importe total, % del total, número de pedidos
|
||||
|
||||
### Top tiendas
|
||||
- Fetch con `groupBy=store&pageSize=10`
|
||||
- Tabla: tienda, pedidos, importe, % del total
|
||||
- Solo se muestra si el usuario tiene acceso a múltiples tiendas
|
||||
|
||||
### Top terminales
|
||||
- Fetch con `groupBy=terminal&pageSize=10`
|
||||
- Tabla: terminal, tienda, pedidos, importe
|
||||
|
||||
## Acceptance Criteria
|
||||
AC1: Dashboard muestra tendencias con barra SVG.
|
||||
AC2: Desglose por canal muestra ecommerce/POS/admin con %.
|
||||
AC3: Top tiendas con tabla ordenada por importe.
|
||||
AC4: Filtros de rango de fechas y canal (reutiliza DateRangePicker de F-147).
|
||||
AC5: Estados loading/empty/error explícitos.
|
||||
AC6: tsc 0, verify.sh verde.
|
||||
Reference in New Issue
Block a user