BookDex es una aplicación construida con Spring que consume la API de Gutendex para buscar libros, mostrarlos por título, idioma y otros criterios, y almacenarlos en una base de datos local usando JPA/Hibernate. Este proyecto sirve como práctica para el consumo de APIs, el manejo de datos JSON, el uso de JPA y la persistencia con Spring Data.
- 🔎 Buscar libros por título desde la API de Gutendex.
- 📄 Persistir libros y autores en una base de datos relacional.
- 🌍 Consultar libros por idioma.
- 👨💻 Consultar autores registrados.
- 📆 Filtrar autores vivos en un año determinado.
- 🗂 Listar autores por edad o por rango de edad.
- Java 17
- Spring Boot 3
- Spring Data JPA
- Hibernate
- PostgreSQL
- Maven
- Gutendex API
- Jackson (para deserialización de JSON)
- H2 (opcional para pruebas locales)
BookDex/
├── model/ # Entidades JPA: Libro, Autor
├── repository/ # Interfaces JpaRepository
├── service/ # Lógica para consumir API y convertir datos
├── Principal.java # Menú principal de la app en consolagit clone https://github.com/alonso1298/BookDex-Spring.git
cd BookDex-SpringAsegúrate de tener una base de datos PostgreSQL corriendo y configura tu application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/bookdex
spring.datasource.username=postgres
spring.datasource.password=tu_contraseña
spring.jpa.hibernate.ddl-auto=updateCambia los valores según tu configuración local.
Una vez ejecutado, se mostrará un menú en consola con las siguientes opciones:
- Buscar libro por título
- Mostrar libros por idioma
- Mostrar autores registrados
- Buscar autores vivos en un año específico
- Salir
Bienvenido a BookDex
1. Buscar libro por título
Ingrese el nombre del libro: Sherlock Holmes
Libro guardado con éxito.
Desarrollado por Alonso Sagrero como parte de su aprendizaje en Java y Spring Boot.