=================
Desafio da formação AluraOne, da plataforma Alura.
OBJETIVO: Desenvolver um Catálogo de Livros que ofereça interação textual (via console) com os usuários, proporcionando no mínimo 5 opções de interação.
Os livros serão buscados através de uma API específica, a Gutendex.
Métodos necessários:
1 - Buscar o livro pelo título
2 - Listar livros registrados
3 - Listar autores registrados
4 - Listar autores vivos em um determinado ano
5 - Listar livros em um determinado idioma
✅Concluido✅
Dentro do pacote br.com.alura.literAlura.resources
no arquivo application.properties
, foi utilizado de variaveis de ambiente para o host (localhost
), username e senha do banco de dados
Portanto caso queira rodar o projeto será necessário criar estas variaveis de ambiente
No pacote br.com.alura.literAlura
a classe LiterAluraAplication
é necessária para rodar o projeto e se tratando de uma aplicação no terminal ela implementa a interface CommandLineRunner
Ela vai instanciar a classe br.com.alura.literAlura.view.Principal
e chamar o método exibirMenu()
atráves desse método todos os métodos do desafio podem ser executados
As classes br.com.alura.literAlura.service.ConsumoApi
, br.com.alura.literAlura.model.Resultado
,br.com.alura.literAlura.model.DadosAutor
e br.com.alura.literAlura.model.DadosLivro
são utilizadas para:
- ConsumoApi: Consumo da API Gutendex
- Resultado: Intermediaria para conversão do JSON para as classes DadosAutor e DadosLivro, através de anotações e métodos da biblioteca Jackson
- DadosAutor e DadosLivro: recebem os dados para a criação das classes entidade Autor e Livro
As classes br.com.alura.literAlura.model.Autor
e br.com.alura.literAlura.model.Livro
representam as tabelas que serão usadas no banco de dados, através de anotações da biblioteca Spring Data JPA
As interfaces br.com.alura.literAlura.repository.AutorRepository
e br.com.alura.literAlura.repository.LivroRepository
herdam da interface JpaRepository
posibilitando o uso de derived queries para mainupulação do banco de dados
Elas vão ser atributos da classe br.com.alura.literAlura.view.Principal
pois necessitam que a classe br.com.alura.literAlura.LiterAluraAplication
utilize a anotação @AutoWired
para deixar claro que o SpringBoot
vai gerenciar elas
Utilizando o primeiro método para adicionar ao banco de dados o livro "Dom Casmurro" do autor "Machado de Assis"
Novamente com o primeiro método para adicionar o livro "The Great Gatsby(O grande Gatsby) " do autor "F. Scott Fitzgerald"
Agora escolhendo o segundo método, para listar os livros registrados
Com o terceiro método, para listar os autores registrados
Usando o quarto método e escolhendo um ano limite para mostrar apenas dentre os autores registrados, quais estavam vivos naquele ano
a exemplo dentre os dois autores registrados, quais estavam vivos em 1910?
Por fim o quinto método, supondo que eu queira ver apenas os livros em português, vou adicionar mais um livro brasileiro antes
-
Linguagem
-
FrameWork e bibliotecas:
-
Banco de dados
-
API
-
Gerenciador de dependencias
Agradeço a Alura e todos os professores da formação por todo o aprendizado passado e desafios propostos.