Módulo de Validaciones, Integridad de Datos y Auditoría

Propósito

Este módulo es fundamental para mantener la consistencia, exactitud y seguridad de los datos en todo el sistema. Su objetivo es prevenir errores, garantizar la fiabilidad de la información y proporcionar un registro completo de todas las operaciones críticas para fines de trazabilidad y seguridad.

Funcionalidades Clave

Validaciones de Integridad de Datos

  • Unicidad y Consistencia: Implementación de validaciones para asegurar la unicidad de nombres de canchas por sede y evitar la creación de reservas duplicadas.

  • Validación Financiera: Garantiza que los pagos registrados no superen el valor total de la reserva, manteniendo la coherencia en las transacciones.

  • Control de Horarios: Previene la creación de reservas en horarios pasados o que se superpongan con otras reservas existentes.

  • Formato de Datos: Validación de formatos específicos para datos críticos como correos electrónicos y números de teléfono durante el registro de usuarios.

  • Políticas de Cancelación: Implementación de reglas para validar y hacer cumplir las políticas de cancelación antes de permitir una anulación de reserva.

  • Contexto Técnico: Estas validaciones se aplican tanto en el backend (lado del servidor) como en el frontend (interfaz de usuario) para una detección temprana de errores y una mejor experiencia de usuario.

Auditoría y Trazabilidad del Sistema

  • Registro Completo de Acciones: Implementación de un sistema de auditoría que registra todas las acciones significativas realizadas en el sistema.

  • Registro de Usuarios: Registra eventos de ingreso y salida de usuarios, así como intentos fallidos de autenticación.

  • Bitácoras de Cambios: Mantiene un registro detallado de los cambios realizados en tablas maestras críticas, como tarifas y configuración de canchas.

  • Acciones Críticas: Rastrea acciones de alta importancia, como cambios de rol de usuario, suspensiones de cuentas o modificaciones de permisos.

  • Vista de Logs para Administradores: Proporciona una interfaz para que los administradores puedan consultar y filtrar los logs de auditoría, facilitando la revisión y el seguimiento de eventos.

  • Contexto Técnico: Utilización de una nueva tabla audit_log en la base de datos y un servicio de logging asíncrono para registrar eficientemente los eventos. Se expone un endpoint GET /api/admin/audit-logs para la consulta de estos registros.

Validación Integral de Funcionalidades

  • Verificación en Producción: Proceso de verificación rigurosa para asegurar el correcto funcionamiento en el ambiente de producción de todas las funcionalidades ya implementadas.

  • Ámbitos de Validación: La validación se extiende a los paneles de Cliente, Operador/Administrador y Super Administrador, cubriendo todas las interfaces de usuario del sistema.

  • Cobertura de Requerimientos: Incluye la revisión de un extenso conjunto de tareas, desde la operatividad de los dashboards y el historial de reservas en el Panel de Cliente, hasta la supervisión y gestión de recursos en los paneles de Operador y Administrador, y la administración de cuentas y permisos en el Panel de Super Administrador.

  • Requerimientos No Funcionales: También abarca la validación de aspectos no funcionales como la actualización en tiempo real, mejoras de UI/UX y la robustez de las validaciones implementadas.

Aspectos Técnicos

  • Validación de Datos: Uso de frameworks de validación en el backend (ej. Joi, Express-validator) y librerías en el frontend (ej. Formik, Yup) para asegurar la calidad de los datos.

  • Base de Datos: Creación de la tabla audit_log con campos como user_id, action, timestamp, details.

  • Servicio de Auditoría: Implementación de un servicio desacoplado para registrar eventos de auditoría, que puede operar de forma asíncrona para no afectar el rendimiento.

  • API Endpoints: GET /api/admin/audit-logs para acceso a los registros de auditoría.