Skip to content

Desafio LiterAlura, da formação OracleOneNextEducation, utilizar SpringBoot JPA para criar uma aplicação que consumindo a API Gutendex para gerenciar um catalogo de livros

Notifications You must be signed in to change notification settings

thiagosilvaantenor/LiterAlura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LiterAlura - Catálogo de livros em banco de dados via GutendexAPI

Java

Spring

Postgres

Índice

=================

Proposta do projeto

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

Status do projeto

✅Concluido✅

Sobre o projeto

Classe de configuração

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

image

Classe de exibição

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

image

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

image

Classes de serviço

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

Classes de entidade

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

Classes de repository

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

Demonstração do projeto

Adicionando livros

Utilizando o primeiro método para adicionar ao banco de dados o livro "Dom Casmurro" do autor "Machado de Assis"

image

image

Novamente com o primeiro método para adicionar o livro "The Great Gatsby(O grande Gatsby) " do autor "F. Scott Fitzgerald"

image

image

Listando livros e autores

Agora escolhendo o segundo método, para listar os livros registrados

image

Com o terceiro método, para listar os autores registrados

image

Listando autores vivos em uma determinada data

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?

image

Listando livros de apenas um idioma especifico

Por fim o quinto método, supondo que eu queira ver apenas os livros em português, vou adicionar mais um livro brasileiro antes

image

image

Tecnologias

Agradecimentos

Agradeço a Alura e todos os professores da formação por todo o aprendizado passado e desafios propostos.

Autor

foto do autor
Thiago Silva Antenor
🧑🏾‍💻

Feito por Thiago Silva Antenor 👨🏾‍💻 Entre em contato!

Linkedin Badge Gmail Badge

About

Desafio LiterAlura, da formação OracleOneNextEducation, utilizar SpringBoot JPA para criar uma aplicação que consumindo a API Gutendex para gerenciar um catalogo de livros

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages