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

2.6 KiB

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

npm install xlsx

Integración en App Principal

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