https://github.com/pedro-hc-reis/imersao_java_2_alura
Repositório contendo os projetos realizados na 2a edição da Imersão Java da Alura.
https://github.com/pedro-hc-reis/imersao_java_2_alura
api api-rest java mongodb spring spring-boot
Last synced: 4 months ago
JSON representation
Repositório contendo os projetos realizados na 2a edição da Imersão Java da Alura.
- Host: GitHub
- URL: https://github.com/pedro-hc-reis/imersao_java_2_alura
- Owner: Pedro-Hc-Reis
- Created: 2023-03-27T16:45:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-31T19:19:14.000Z (over 3 years ago)
- Last Synced: 2025-02-28T19:21:09.357Z (over 1 year ago)
- Topics: api, api-rest, java, mongodb, spring, spring-boot
- Language: Java
- Homepage:
- Size: 57.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Imersão Java 2
Repositório contendo os projetos realizados na 2a edição da Imersão Java da Alura.
## Cronograma
Aula 1 - Consumindo uma API de filmes com Java.
Aula 2 - Gerando figurinhas para WhatsApp.
Aula 3 - Ligando as pontas, refatoração e orientação a objetos.
Aula 4 - Criando nossa própria API com Spring.
Aula 5 - Publicando nossa API na Cloud.
### Aula 1 -> imdb-api
Nessa aula foi utilizada a API pública do site IMDB com o endpoint `top250movies`.
Com o pacote `java.net.http` foram realizados:
1. A conexão com a API.
2. A extração dos dados com uma classe própria disponibilizada em aula.
3. A impressão em tela dos seguintes dados do sfilmes: título, imagem, pontuação.
4. Com o desafio proposto pelos mentores foi refatorada a pontuação de modo a possuir um melhor layout com cores e emojis.
### Aula 2 -> Gerando stickers
Nessa aula foi desenvolvida uma nova classe para gerar stickers (para whatsapp, telegram etc) a partir dos pôsters dos filmes recuperados via api da Aula 1.
Foram realizados:
1. A importação de imagens(arquivo local ou url), as transformando em uma nova imagem .png com um texto em fundo transparente.
2. Gerador de Stickers - Classe geradora de Stickers para WhatsApp.
### Aula 3 -> Ligando as pontas, refatoração e orientação a objetos
O código foi refatorado com o objetivo de simplificar e ampliar a utilidade da aplicação utilizando os pilares da programação orientada a objetos como o polimorfismo.
* Para isso foram implementadas ferramentas do Java como as `Interfaces`, `Record's` e os `Generics`.
* No fluxo da aplicação temos a classe `App` que requisita a url da API por meio de uma chave String para a classe `ApiProperties`; com a url em mãos é possível solicitar a interface `Model` a lista de conteúdos, onde é feito a requisição do JSON a classe `ClientHttp` e a própria interface realiza a desserialização e retorna uma lista de conteúdos. Por fim, a classe `App` utiliza os métodos da classe `StickGenerator` passando o conteúdo e que retorna a figurinha com a menssagem desejada.
* Dessa forma foi possível flexibilizar e reutilizar o código na geração de figurinhas de API's diferentes das que foram utilizadas nos dias anteriores. Como exemplo a API da Nasa que fornece diferentes imagens relacionadas a astronomia.
### Aula 4 -> Criando nossa própria API com Spring.
* Nas atividades do quarto dia foi desenvolvida uma API com `Spring Boot` e `MongoDB` contendo logos de linguagens de programação, podendo ser acessada no repositório [Imersão Alura Java_: API de Langs](https://github.com/Lukasveiga/ImersaoAluraLangApi).
* E por fim foram geradas figurinhas com as imagens extraídas da API seguindo o mesmo modelo dos exemplos anteriores.