Uma aplicação de console em Java e Spring Boot para buscar, salvar e consultar livros e autores utilizando a API Gutendex.
Este é um projeto de estudo desenvolvido em Java com o framework Spring Boot.
A aplicação funciona como um catálogo de livros interativo, rodando diretamente no terminal.
Ela consome dados da API pública Gutendex para buscar livros e, em seguida, persiste essas informações (livros e autores) em um banco de dados PostgreSQL para consultas futuras.
O menu interativo no console permite ao usuário executar as seguintes ações:
- Buscar Livro pelo Título: Consulta a API Gutendex em tempo real por um título de livro e salva o resultado no banco de dados local.
- Listar Livros Registrados: Exibe todos os livros que já foram buscados e salvos no banco de dados.
- Listar Autores Registrados: Mostra todos os autores dos livros salvos.
- Listar Autores Vivos em um Determinado Ano: Permite ao usuário inserir um ano e exibe os autores que estavam vivos naquele período.
- Listar Livros por Idioma: Filtra e exibe os livros registrados em um idioma específico (ex:
enpara inglês,ptpara português).
- Java 17
- Spring Boot: Framework principal para a estrutura da aplicação.
- Spring Data JPA: Para persistência de dados e comunicação com o banco de dados.
- PostgreSQL: Banco de dados relacional.
- Maven: Gerenciamento de dependências e build do projeto.
- Jackson Databind: Conversão do JSON da API em objetos Java.
- Gutendex API: Fonte pública de dados dos livros.
O código está organizado nos seguintes pacotes:
-
com.searchbooks.model
Contém as entidades JPA (Autor,Book) que representam as tabelas do banco de dados e os DTOs (Resposta) para desserialização do JSON. -
com.searchbooks.controller
Inclui o repositório (RepositorioAutor) para interações com o banco de dados via Spring Data JPA. -
com.searchbooks.service
(Representado pela classeSearch) Lógica para consumir a API externa. -
com.searchbooks.view
(Representado pela classePrincipal) Classe responsável pela interface com o usuário no console (menu e interações). -
SearchBooksApplication.java
Ponto de entrada da aplicação Spring Boot (main).
👨💻 Feito com ❤️ por DomCarlosAdriano.