Files
app-padel/INTEGRATION.md
Ivan Alcaraz 5e50dd766f FASE 5 COMPLETADA: Analytics y Administración
Implementados 5 módulos de analytics con agent swarm:

1. DASHBOARD ADMINISTRATIVO
   - Resumen ejecutivo (reservas, ingresos, usuarios)
   - Vista del día con alertas
   - Calendario semanal de ocupación

2. MÉTRICAS DE OCUPACIÓN
   - Ocupación por fecha, cancha, franja horaria
   - Horas pico (top 5 demandados)
   - Comparativa entre períodos
   - Tendencias de uso

3. MÉTRICAS FINANCIERAS
   - Ingresos por período, cancha, tipo
   - Métodos de pago más usados
   - Estadísticas de reembolsos
   - Tendencias de crecimiento
   - Top días de ingresos

4. MÉTRICAS DE USUARIOS
   - Stats generales y actividad
   - Top jugadores (por partidos/victorias/puntos)
   - Detección de churn (riesgo de abandono)
   - Tasa de retención
   - Crecimiento mensual

5. EXPORTACIÓN DE DATOS
   - Exportar a CSV (separado por ;)
   - Exportar a JSON
   - Exportar a Excel (múltiples hojas)
   - Reportes completos descargables

Endpoints nuevos (solo admin):
- /analytics/dashboard/*
- /analytics/occupancy/*
- /analytics/revenue/*
- /analytics/reports/*
- /analytics/users/*
- /analytics/exports/*

Dependencias:
- xlsx - Generación de archivos Excel

Utilidades:
- Cálculo de crecimiento porcentual
- Formateo de moneda
- Agrupación por fechas
- Relleno de fechas faltantes
2026-01-31 09:13:03 +00:00

80 lines
2.6 KiB
Markdown

# Integración de Analytics y Exportación
## Resumen
Esta fase (5.3) implementa el sistema de métricas de usuarios y exportación de datos para la App Padel.
## Archivos Creados
### Servicios
- `src/services/analytics/userAnalytics.service.ts` - Métricas y análisis de usuarios
- `src/services/analytics/export.service.ts` - Exportación de datos
- `src/services/analytics/index.ts` - Exportaciones
### Controladores
- `src/controllers/analytics/userAnalytics.controller.ts` - Controladores de métricas
- `src/controllers/analytics/export.controller.ts` - Controladores de exportación
- `src/controllers/analytics/index.ts` - Exportaciones
### Rutas
- `src/routes/analytics.routes.ts` - Definición de rutas
### Utilidades
- `src/utils/export.ts` - Funciones utilitarias para exportación
### Tipos
- `src/types/analytics.types.ts` - Definiciones de TypeScript
### Constantes
- `src/constants/export.constants.ts` - Enumeraciones y constantes
## Instalación de Dependencias
```bash
npm install xlsx
```
## Integración en App Principal
```typescript
import express from 'express';
import analyticsRoutes from './routes/analytics.routes';
const app = express();
// ... otras rutas ...
// Rutas de analytics (proteger con middleware de admin)
app.use('/analytics', authenticate, requireAdmin, analyticsRoutes);
```
## Endpoints Disponibles
### Usuarios
- `GET /analytics/users/overview` - Estadísticas generales
- `GET /analytics/users/activity?startDate=2024-01-01&endDate=2024-01-31` - Actividad
- `GET /analytics/users/top-players?limit=10&by=matches` - Top jugadores
- `GET /analytics/users/churn-risk` - Usuarios en riesgo
- `GET /analytics/users/retention?startDate=2024-01-01&endDate=2024-06-30` - Retención
- `GET /analytics/users/growth?months=6` - Crecimiento
### Exportación
- `GET /analytics/exports/bookings?startDate=2024-01-01&endDate=2024-01-31&format=csv` - Reservas
- `GET /analytics/exports/users?format=csv&level=3.5` - Usuarios
- `GET /analytics/exports/payments?startDate=2024-01-01&endDate=2024-01-31` - Pagos
- `GET /analytics/exports/tournaments/:id?format=csv` - Resultados de torneo
- `GET /analytics/exports/excel-report?startDate=2024-01-01&endDate=2024-01-31` - Reporte Excel
## Formatos de Exportación
- `csv` - Archivo CSV separado por punto y coma (optimizado para Excel español)
- `json` - Archivo JSON formateado
- `excel` - Archivo Excel (.xlsx) con múltiples hojas
## Notas
- Todos los endpoints requieren autenticación de administrador
- Las fechas deben estar en formato ISO 8601
- Las exportaciones CSV usan punto y coma (;) como separador
- Para grandes volúmenes de datos, considerar implementar paginación o streaming