Olá, à você que está vendo esse projeto!
Este é um programa de console que tem como proposta acessar o top 250 filmes segundo à classificação do IMDB.
além da construção do código, fomos propostos os seguintes desafios por dia/aula:
- Consumir o endpoint de filmes mais populares da API do IMDB. Procure também, na documentação da API do IMDB, o endpoint que retorna as melhores séries e o que retorna as séries mais populares.
- Usar sua criatividade para deixar a saída dos dados mais bonitinha: usar emojis com código UTF-8, mostrar a nota do filme como estrelinhas, decorar o terminal com cores, negrito e itálico usando códigos ANSI, e mais!
- Colocar a chave da API do IMDB em algum lugar fora do código como um arquivo de configuração (p. ex, um arquivo .properties) ou uma variável de ambiente
- Mudar o JsonParser para usar uma biblioteca de parsing de JSON como Jackson ou GSON
- Desafio supremo: criar alguma maneira para você dar uma avaliação ao filme, puxando de algum arquivo de configuração OU pedindo a avaliação para o usuário digitar no terminal.
- Ler a documentação da classe abstrata InputStream.
- Centralizar o texto na figurinha.
- Fazer um pacote no Whatsapp e/ou Telegram com as suas próprias figurinhas!
- Criar diretório de saída das imagens, se ainda não existir.
- Colocar outra fonte como a Comic Sans ou a Impact, a fonte usada em memes.
- Colocar uma imagem de você que está fazendo esse curso sorrindo, fazendo joinha!
- Colocar contorno (outline) no texto da imagem.
- Tratar as imagens retornadas pela API do IMDB para pegar uma imagem maior ao invés dos thumbnails. Opções: pegar a URL da imagem e remover o trecho mostrado durante a aula ou consumir o endpoint de posters da API do IMDB (mais trabalhoso), tratando o JSON retornado.
- Fazer com que o texto da figurinha seja personalizado de acordo com as classificações do IMDB.
- Desafio supremo: usar alguma biblioteca de manipulação de imagens como OpenCV pra extrair imagem principal e contorná-la.
Desafio 1: Impossibilitado devido ao bloqueio da API.
Desafio 2: Feito ✔
Desafio 3: Impossibilitado devido ao bloqueio da API (porém teóricamente possível atraves da criação de um arquivo externo que contenha a chave em uma varíavel e uma função que faça a concatenação da chave com o endereço).
Desafio 1: Feito ✔
Desafio 2: Feito ✔
Desafio 4: Feito ✔
Desafio 5: Feito ✔
Desafio 7: Feito ✔
Desafio 9: Feito ✔