Skip to content

Refactorización y estandarización de API, uso de mappers, actualización de tests y creación de nuevo módulo

avril.peraza requested to merge feature/mejoras-codigo-calidad into develop

Descripción

Refactorización completa del módulo perfil y creación del módulo funcionalidad para cumplir con los requerimientos específicos del proyecto. Se reestructuraron las funcionalidades de registro, actualización y baja/reactivación de perfil, mejorando la arquitectura del código y agregando validaciones robustas a cada operación.

Tipo de cambio

Módulo Perfil - Refactorización integral

  • Ampliación del registro de perfil: Incorporación de campos adicionales que anteriormente no se consideraban en el proceso de registro. Para mantener compatibilidad con la lógica de autorización existente, se agregó un campo Rol a la entidad perfil para identificar el rol de cada perfil (ej: perfil Administrador → Rol ADMIN), cumpliendo con los requerimientos de autorización de Spring Security.
  • Refactorización de métodos core: Actualización completa de métodos de registro, actualización y listados incorporando los nuevos campos y validaciones.
  • Mejora en eliminación de perfiles: Refactorización del método de eliminación para implementar baja lógica (cambio de estado) en lugar de eliminación física de registros, preservando la integridad referencial.

Módulo Funcionalidad - Implementación completa

  • Creación de módulo funcionalidad: Implementación de CRUD completo para funcionalidades con lógica de gestión de acceso y permisos.
  • Gestión de permisos: Integración entre perfiles y funcionalidades para control de acceso granular.

Mejoras arquitecturales transversales

  • Creación de DTOs y validaciones: Implementación de esquemas DTO especializados y validaciones consistentes, separando DTOs de creación de DTOs de respuesta para mejor mantenimiento del código.
  • Implementación de filtros dinámicos: Integración de Spring Specification en ambos módulos para permitir consultas con filtros dinámicos y flexibles.
  • Estandarización de respuestas API: Mejora en endpoints de todos los módulos con implementación uniforme de ApiResponse para proporcionar mensajes de error y éxito consistentes hacia el frontend.

Checklist de calidad

  • El código sigue las convenciones del proyecto
  • Se realizaron pruebas funcionales exhaustivas
  • Se actualizó la documentación y esquemas de base de datos
  • Los commits tienen mensajes descriptivos y granulares
  • Se cumple con todos los módulos obligatorios solicitados para el proyecto
  • Se utilizan herramientas que evitan duplicación de código y errores humanos (mappers, enums, DTOs, specifications)
  • Validaciones consistentes con manejo de errores estandarizado

Testing realizado

  • Pruebas funcionales con Postman actualizadas
  • Validación de funcionalidad existente sin regresiones
  • Verificación de nuevas validaciones y esquemas DTO
  • Testing de filtros dinámicos con Spring Specification
  • Validación de respuestas API estandarizadas

Testing detallado

Los cambios fueron exhaustivamente probados utilizando Postman, incluyendo:

  • Registro de perfil con nuevos campos y validaciones
  • Baja y reactivación lógica de perfil y funcionalidad
  • Filtros dinámicos en consultas de perfil y funcionalidad
  • Validación de mensajes de error y éxito

La colección de Postman fue actualizada para reflejar todos los cambios implementados.

Merge request reports

Loading