erp-mecanicas-diesel/docs/02-definicion-modulos/MMD-001-fundamentos/historias-usuario/US-MMD001-009-dashboard-uso.md

168 lines
3.8 KiB
Markdown

# US-MMD001-009: Ver Dashboard de Uso del Sistema
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | US-MMD001-009 |
| **Epica** | EPIC-MMD-001 - Fundamentos |
| **Modulo** | fundamentos |
| **Prioridad** | P2 |
| **Story Points** | 3 |
| **Sprint** | Sprint 2 |
| **Estado** | Backlog |
| **Asignado a** | Por asignar |
---
## Historia de Usuario
**Como** administrador del taller,
**quiero** ver un dashboard con metricas de uso del sistema,
**para** entender como se esta utilizando y detectar areas de mejora.
## Descripcion Detallada
El dashboard de uso muestra metricas basicas de adopcion y utilizacion del sistema: usuarios activos, ordenes procesadas, modulos mas usados, etc. Esto ayuda al administrador a evaluar el ROI del sistema.
---
## Criterios de Aceptacion
**Escenario 1: Ver metricas de usuarios**
```gherkin
DADO que accedo al dashboard de uso
CUANDO veo la seccion de usuarios
ENTONCES veo:
| Metrica | Valor |
| Usuarios registrados | 8 |
| Usuarios activos (hoy) | 5 |
| Usuarios activos (semana) | 7 |
| Ultimo login | Hace 5 minutos |
```
**Escenario 2: Ver metricas de ordenes**
```gherkin
DADO que veo el dashboard
CUANDO reviso la seccion de ordenes
ENTONCES veo:
| Metrica | Valor |
| Ordenes hoy | 12 |
| Ordenes esta semana | 45 |
| Ordenes este mes | 180 |
| Promedio diario | 6 |
```
**Escenario 3: Ver actividad por modulo**
```gherkin
DADO que veo el dashboard
CUANDO reviso uso por modulo
ENTONCES veo grafica de barras con:
| Modulo | Accesos |
| Ordenes | 450 |
| Inventario | 230 |
| Vehiculos | 180 |
| Cotizaciones | 95 |
```
**Escenario 4: Filtrar por periodo**
```gherkin
DADO que quiero ver metricas del mes pasado
CUANDO selecciono "Ultimo mes" en el filtro
ENTONCES las metricas se actualizan con datos del mes anterior
```
---
## Metricas a Mostrar
### Usuarios
| Metrica | Descripcion |
|---------|-------------|
| Total registrados | Usuarios en el sistema |
| Activos hoy | Con al menos 1 accion hoy |
| Activos semana | Con al menos 1 accion esta semana |
| Tasa de adopcion | Activos / Registrados |
### Operaciones
| Metrica | Descripcion |
|---------|-------------|
| Ordenes creadas | Total en periodo |
| Ordenes completadas | Cerradas exitosamente |
| Cotizaciones generadas | Total cotizaciones |
| Diagnosticos registrados | Total diagnosticos |
### Sistema
| Metrica | Descripcion |
|---------|-------------|
| Uptime | Disponibilidad del sistema |
| Errores | Errores registrados |
| Tiempo respuesta | Promedio de respuesta API |
---
## Tareas Tecnicas
**Backend:**
- [ ] BE-032: Crear tabla `activity_log` para tracking
- [ ] BE-033: Middleware para registrar actividad
- [ ] BE-034: Endpoint GET /api/analytics/usage
- [ ] BE-035: Queries agregadas para metricas
**Frontend:**
- [ ] FE-029: Crear UsageDashboardPage
- [ ] FE-030: Crear MetricCard component
- [ ] FE-031: Integrar grafica de barras (recharts)
- [ ] FE-032: Selector de periodo
---
## Dependencias
**Depende de:**
- [ ] US-MMD001-001: Configurar taller
- [ ] US-MMD001-002: Configurar roles
**Bloquea:**
- [ ] Ninguno (funcionalidad de monitoreo)
---
## Notas Tecnicas
**Endpoints:**
| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/analytics/usage | Metricas generales |
| GET | /api/analytics/usage/users | Metricas de usuarios |
| GET | /api/analytics/usage/modules | Uso por modulo |
**Estructura activity_log:**
```typescript
interface ActivityLog {
id: string;
user_id: string;
workshop_id: string;
module: string;
action: string;
entity_type?: string;
entity_id?: string;
created_at: Date;
}
```
---
## Definition of Done (DoD)
- [ ] Dashboard con metricas basicas
- [ ] Filtro por periodo
- [ ] Graficas de uso
- [ ] Datos en tiempo real
- [ ] Tests pasando
---
**Creada por:** Requirements-Analyst
**Fecha:** 2025-12-06