Projeto da semana Imersão Java da Alura.
Site da Imersão: https://www.alura.com.br/imersao-java
src
: Arquivos de código fontemovies
: Código fonte do App que chama o IMDb APIstickers
: Código fonte do App que gera os stickersstikcersrefactored
: Código fonte do App que gera os stickers refatorado na aula 3
linguagensapi
: Projeto Spring Boot para listar as linguagens de programação
Site de consulta de filmes e séries. Estamos utilizando a API pública deles para obter os dados.
URL da API: https://imdb-api.com/
Utilizando bibliotecas padrões do Java para manipulação de imagens.
import java.awt.image.BufferedImage;
import java.awt.Graphics2D;
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import java.net.URL;
Exemplo de Sticker
Utilizando melhores práticas de programação para o código desenvolvido na aula 2. Adicionando figurinhas da Nasa.
Exemplo de Sticker NASA
Alteração da Classe Content
para um record
do Java.
public class Content {
private final String title;
private final String imageUrl;
public Content(String title, String imageUrl) {
this.title = title;
this.imageUrl = imageUrl;
}
public String getTitle() {
return title;
}
public String getImageUrl() {
return imageUrl;
}
}
Nova versão como um record.
public record Content(String title, String imageUrl) {}
Criando a API utilizando Spring e MongoDB. Para realizar a conexão com o banco de dados MongoDb é necessário utilizar a String de conexão abaixo.
spring.data.mongodb.uri=mongodb+srv:https://${USER_MONGODB:jean}:${PASSWORD_MONGODB:password}@cluster0.ha1bu.mongodb.net/?retryWrites=true&w=majority
spring.data.mongodb.database=aluradb
Estou utilizando variáveis de ambiente para a senha e também para o nome de usuário. Estes valores são inseridos no Heroku para serem injetanos no deploy do projeto.
- GET https://linguagens-alura.herokuapp.com/linguagens
- POST https://linguagens-alura.herokuapp.com/linguagens
- GET https://linguagens-alura.herokuapp.com/linguagens/{id}
- PUT https://linguagens-alura.herokuapp.com/linguagens/{id}
- DELETE https://linguagens-alura.herokuapp.com/linguagens/{id}
Download de sticker das linguagens de programação.
Exemplo de retorno:
{
"id": "62d9fb6ecf2973da6f041737",
"title": "Java",
"image": "https://raw.githubusercontent.com/abrahamcalf/programming-languages-logos/master/src/java/java_128x128.png",
"ranking": 1
},
{
"id": "62d9fb9dcf2973da6f041738",
"title": "Python",
"image": "https://raw.githubusercontent.com/abrahamcalf/programming-languages-logos/master/src/python/python_128x128.png",
"ranking": 2
},
{
"id": "62d9fbb5cf2973da6f041739",
"title": "JavaScript",
"image": "https://raw.githubusercontent.com/abrahamcalf/programming-languages-logos/master/src/javascript/javascript_128x128.png",
"ranking": 3
}
Para quem criou o projeto como eu, onde a API ficou em uma pasta que não é a raiz do diretório, pode ser um pouco complicado publicar no Heroku. Segue artigo para resolver este problema: https://jjeanjacques10.medium.com/spring-boot-microservices-monorepo-heroku-6dd8e177da91
Developed by @jjeanjacques10