Este projeto foi realizado através das aulas da imersão alura.
-
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
- Paulo Silveira
- Alexandre Aquiles
- Jacqueline Oliveira
Java 17
InteliJ IDEA
Paradigma de orientação a objetos
Spring Boot
MongoDB
Postman
Consumir a API do IMDb e exibir:
- Filmes mais top, mais populares e Tv's mais populares;
- Título do filme;
- Link de imagem;
- Classificação do filme.
- Decorar o terminal
Inicialmente, é feito o cadastro no site IMDb API para obter a chave. Com a chave obtida, é criado o arquivo de configuração key.properties para a fim de separar o código conforme o exemplo abaixo:
https://imdb-api.com/en/API/Top250Movies/[sua-chave]
Contudo, durante a imersão, o site da IMDB ficou instável e os intrutores criaram os links alternativos, escolhi os seguintes links:
Para decorar o terminal, segue o link de dicas: decore o terminal.
Gerar figurinhas a partir de uma imagem de uma url da Imdb e exibir:
- Redimensionar a imagem;
- Colocar uma palavra abaixo da imagem, de acordo com a sua classificação;
- Customizar a palavra.
Buscar a API da Nasa e refatorar o código aplicando a Orientação à objeto:
- Transformar a classe que representa o conteúdos em um Record;
- Criação de um Enum para unir a URL da API e o extrator utilizado;
- Usar o Streams e Lambdas para mapear a lista;
- Criar uma nova exceção para ser utilizada na classe que implementa cliente HTTP.
API NASA se encontra nesse site NASA API, também deverá ser feito o cadastro para obter a chave.
Construir uma API REST para expor nosso próprio conteúdo, utilizando ferramentas profissionais como Spring Boot, Maven, PostMan e MongoDB. desenvolvendo as seguintes funcionalidades:
- Implementar o CRUD (Create, Read, Update e Delete);
- Ordenar a lista conforme ranking;
- Quando for cadastrado através do POST, retornar o status 201;
Para testar o funcionamento do CRUD, poderá ser baixado webservice Postman e, após a instalação, adicionar o link do localhost gerado pelo servidor da aplicação: http://localhost:8080/linguagens e adicionando as requisições para:
- GET para consulta;
- POST para adicionar;
- PUT para alteração;
- DELETE para excluir.
Além da acima, também poderá instalar o banco de dados não relacional MongoDB ou se preferir, acessar diretamente no site oficial para registrar e utilizar o mesmo em cloud.
Foi gerado projeto linguagens-api através do link spring initializer. Após codar a aplicação Spring Boot, o link localhost exibiu informações de linguagens conforme a imagem:
Banco de dados não relacional MongoDB retornou:
Resultado do teste CRUD através do webservice Postman as seguintes requisições:
1 - Consulta:
2 - Consulta por id:
3 - Cadastro:
4 - Atualização:
5 - Exclusão:
Agora, vamos para projeto alura-stickers para gerar as figurinhas de linguagens. Para isso, foi necessária algumas mudanças como a remoção de api IMDB e da NASA e deixar somente API de linguagens conforme o projeto linguagens-api desenvolvido. Além disso, foi necessária o redimensionamento da imagem e posicionamento da palavra abaixo da figurinha. Resultou as seguintes figurinhas:
Nesta última aula, tornamos nossa aplicação acessível por qualquer pessoa, fazendo o deploy na nuvem. Além disso, vamos gerar figurinhas a partir do conteúdo dessa nossa API.
Foram realizados passo a passo os seguintes:
1° - Executar o comando "package" para gerar o arquivo .jar:
Após isso, gerou dentro da pasta target, um arquivo jar chamado linguagens-api-0.0.1-SNAPSHOT.jar:
2° - Realizar conteiner no Docker, copiar o seguinte comando e ir no prompt comando da pasta target do projeto e executar:
Assim, foi gerado a imagem e conteiner:
3° - Criar o docker file workspace no projeto:
4° - Construir a imagem, executando o comando Docker Images: Build image
Após o comando, foi criado o Docker Hub:
Na sequencia, na Images -> inguagens-api -> latest e clicar no botão direito e clique em "push":
5° - Ir no Fly.io e copiar o comando e executar no powershell:
6° - Após, ir no Sign In copiar o comando e executar no powershell para autenticação:
7° - Feito isso, ir na pasta do projeto linguagens-api, no powershell, para subir o deploy seguindo o exemplo da sequencia de comandos abaixo:
Criado o arquivo:
E no dashboard do fly.io:
🙌 Pronto!! A aplicação já está no ar e pronto para acessar!! 🚀
Você poderá acessar neste projeto alura-stickers e baixar conforme a imagem:
Ou se preferir, poderá também utilizar o git baixando o projeto para seu repositório.
Poderá abrir o projeto através IDE de sua preferência (Vscode, Intellij IEDA, Eclipse...), após, é só dar o run!! 😀