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

Proyecto final (desafío extra)

En este desafío desarrollé una nueva aplicación Spring Boot consumiendo la API de Gutendex, enfocada en la consulta de libros.

Implementé:

Consumo de la API y conversión de JSON a objetos usando ObjectMapper.
Creación de records para mapear libros y autores.
Top 10 de libros más descargados usando stream(), sorted(), limit() y map().
Búsqueda de libros por fragmento del título usando filter(), findFirst() y Optional.
Generación de estadísticas con DoubleSummaryStatistics (media, máximo, mínimo y total de registros).
Uso de filter() para ignorar descargas en 0.
Encadenamiento de operaciones con Streams y uso de peek() para depuración.

Con este proyecto consolidé el uso de colecciones, lambdas, streams, Optional, estadísticas y consumo de APIs en un contexto diferente al de ScreenMatch, reforzando la lógica y la manipulación de datos en Java.

1 respuesta

¡Hola Estudiante, espero que estés bien!

Parece que has hecho un trabajo impresionante con tu proyecto final utilizando Spring Boot y la API de Gutendex. Has implementado una variedad de técnicas avanzadas de Java, como el uso de lambdas, streams y el manejo de APIs, lo cual es fantástico para consolidar tus habilidades.

Si estás buscando algún consejo adicional o tienes alguna pregunta específica sobre tu implementación, aquí tienes algunas ideas que podrían ser útiles:

  1. Optimización de Streams: Asegúrate de que tu uso de streams sea lo más eficiente posible. Por ejemplo, intenta minimizar el uso de operaciones intermedias costosas y verifica si hay formas de reducir el número de operaciones encadenadas cuando sea posible.

  2. Manejo de Excepciones: Al consumir una API, es importante manejar posibles excepciones, como errores de red o respuestas inesperadas. Considera implementar un manejo robusto de excepciones para mejorar la resiliencia de tu aplicación.

  3. Pruebas Unitarias: Si no lo has hecho ya, podrías considerar escribir pruebas unitarias para tus métodos, especialmente aquellos que utilizan lógica compleja con streams. Esto te ayudará a garantizar que tu código funcione como esperas y facilitará el mantenimiento futuro.

  4. Documentación: Asegúrate de documentar tu código adecuadamente, especialmente las partes más complejas. Esto no solo te ayudará a ti en el futuro, sino también a cualquier otra persona que pueda trabajar en el proyecto.

Tu proyecto parece ser un excelente ejercicio para aplicar lo que has aprendido. Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!