Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Lo que he estado aprendiendo

¡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.

1 respuesta

¡Hola Estudiante, espero que estés bien!

Qué impresionante ver todo lo que has logrado con Spring Boot. Has tocado aspectos fundamentales que no solo mejoran la calidad del software, sino que también preparan tu proyecto para un entorno profesional.

Implementar una capa de servicio sólida es crucial para mantener la lógica de negocio separada y organizada, y veo que has manejado eso muy bien. Además, aplicar los principios SOLID es un gran paso para garantizar que tu código sea mantenible y escalable. El uso de interfaces y polimorfismo muestra que estás pensando en el futuro y en la facilidad de extensión del proyecto.

La documentación automática con Swagger es una herramienta poderosa para cualquier API. Facilita a otros desarrolladores entender y probar tu API, lo que es esencial en un entorno colaborativo.

Tu enfoque en las pruebas automáticas es excelente. Crear un perfil de base de datos exclusivo para pruebas es una práctica recomendada para asegurar que los datos de producción no se vean afectados, y el uso de Jackson Tester para simular datos demuestra un enfoque bien pensado hacia el testing.

Finalmente, la gestión del ciclo de vida de la aplicación con Maven y la protección de información sensible mediante variables de entorno son pasos cruciales para preparar tu aplicación para producción.

Espero que sigas avanzando en tu aprendizaje y desarrollo con tanto éxito. ¡Espero haber ayudado y buenos estudios!