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_logen la base de datos y un servicio de logging asíncrono para registrar eficientemente los eventos. Se expone un endpointGET /api/admin/audit-logspara 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_logcon campos comouser_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-logspara acceso a los registros de auditoría.