¡Hola a todos! Quiero compartirles los puntos clave de lo que he logrado consolidar en esta etapa de mi formación con Spring Boot. No solo hemos construido código funcional, sino que hemos elevado el proyecto a un estándar profesional siguiendo estos pilares:
Arquitectura y Lógica de Negocio: He implementado una capa de Service sólida para separar la lógica de negocio de los controladores. Esto me permitió manejar algoritmos complejos, como las reglas para reservas y cancelaciones de consultas, utilizando validadores personalizados.
Código de Alta Calidad (SOLID): Aplicando principios SOLID, logré que el código sea mucho más fácil de entender y mantener, haciendo un uso estratégico del polimorfismo a través de interfaces y listas.
Documentación Automatizada con Swagger: Integré SpringDoc para que nuestra API se documente sola. Esto genera una interfaz de Swagger donde cualquier desarrollador puede probar las requests en tiempo real e incluso configurar la autenticación JWT directamente en el navegador.
Estrategia de Testing: Realicé pruebas automáticas enfocadas en los controladores y repositorios. Utilicé Jackson Tester para simular datos y creé un perfil de base de datos exclusivo para pruebas en los application properties, asegurando que los tests no interfieran con los datos reales.
Preparación para Producción: Aprendí a gestionar el ciclo de vida de la aplicación con Maven, utilizando el comando package para generar archivos ejecutables .JAR listos para ser desplegados.
Seguridad y Variables de Entorno: Para proteger nuestra infraestructura, configuré el sistema para que las URLs y contraseñas sensibles no estén en el código, sino ocultas tras variables de entorno, simulando un entorno de producción real desde la línea de comandos.