Skip to content

Challenge del programa ONE de Oracle y Alura: aplicación Java con Spring Boot que permite buscar libros desde la API de Gutendex, almacenarlos con sus autores en PostgreSQL, y consultarlos por distintos criterios como idioma, autor o año.

Notifications You must be signed in to change notification settings

camilo-atb/literalura-challenge-one

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Challenge - Literalura - ONE

Aplicación desarrollada en Java con Spring Boot que permite buscar libros a través de la API pública de Gutendex, almacenarlos en una base de datos PostgreSQL y realizar distintas consultas sobre ellos desde la consola. Este proyecto forma parte del Challenge propuesto en el programa ONE (Oracle Next Education) de Alura Latam y Oracle.


🚀 Funcionalidades principales

A través de un menú interactivo en consola, podrás:

1 - Buscar libro desde la web  
2 - Buscar autor por nombre del libro  
3 - Mostrar libros guardados en la base de datos  
4 - Buscar libros por idioma  
5 - Buscar autores vivos en un año determinado  
6 - Revisar la cantidad de libros almacenados en determinado idioma  
0 - Terminar la ejecución

🛠️ Tecnologías utilizadas

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • Consultas JPQL y SQL nativas
  • Base de datos PostgreSQL
  • Gutendex API (https://gutendex.com/)
  • Maven como gestor de dependencias

⚙️ Requisitos de configuración

Antes de ejecutar el proyecto, asegúrate de configurar las siguientes variables de entorno:

DB_HOST=localhost (Incluye el puerto si estás usando uno distinto al predeterminado 5432)
DB_NAME=nombre_base_de_datos
DB_USER=tu_usuario
DB_PASSWORD=tu_contraseña

Estas variables son utilizadas en application.properties para conectar con la base de datos PostgreSQL:

spring.application.name=literalura
spring.datasource.url=jdbc:postgresql://${DB_HOST}/${DB_NAME}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

📦 Estructura general

  • modelos/: Contiene las entidades JPA que se mapean a la base de datos y los records DTO utilizados para deserializar las respuestas de la API Gutendex.
  • servicios/: Incluye las clases de servicio con la lógica de negocio. y las clases para el consumo de la API, donde se configura el cliente HTTP, se realiza la solicitud y se maneja la conversión de JSON a objetos Java usando genéricos y manejo de excepciones.
  • repositorio/: Contiene la interfaz BibliotecaRepositorio, que extiende JpaRepository para facilitar operaciones CRUD y consultas personalizadas.
  • principal/: Clase encargada de la interacción por consola, despliegue del menú y conexión con los servicios.

🙌 Agradecimientos

Gracias a Alura Latam y Oracle por la formación brindada, el Challenge propuesto y la oportunidad de participar en el programa ONE (Oracle Next Education).

Este proyecto fue desarrollado de forma independiente como parte del proceso de aprendizaje, siguiendo los lineamientos del reto, pero sin depender de soluciones guiadas o videos específicos.

About

Challenge del programa ONE de Oracle y Alura: aplicación Java con Spring Boot que permite buscar libros desde la API de Gutendex, almacenarlos con sus autores en PostgreSQL, y consultarlos por distintos criterios como idioma, autor o año.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages