Skip to content

sruinascimento/7days-of-code-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

R Movies

Projeto de backend com a linguagem Java, é um desafio do Seven Days of Code que visa gerar um site HTML com os dados que foram consumidos da API do IMDB e da Marvel.

🪧 Vitrine.Dev
✨ Nome R Movie
🏷️ Tecnologias Java, HTML5, CSS3, BootStrap
🚀 URL https://sruinascimento.github.io/7days-of-code-java/
🤿 Desafio https://7daysofcode.io/matricula/java

🔨 Tecnologias

  • Java - 17.0.2 2022-01-18 LTS
  • HTML5
  • CSS3
  • Bootstrap
  • Git

Java HTML5 CSS3 Bootstrap Git

🤿 7 dias de código - Java

1º Dia

  • criar o código Java que executará uma requisição HTTP do tipo GET. Você pode usar o pacote java.net.http e as classes HttpRequest, HttpClient e HttpResponse, além da classe URI.
  • executar a requisição e pegar a resposta (o JSON).
  • imprimir o corpo da resposta no console.

2º Dia

  • parsear as respostas, extrair o json.
  • fazer uso de Expressões regulares para o parser.
  • utilizar List para cada atributo.

3º Dia

  • utilizar conceitor de OO.
  • modelar uma classe para filmes com os atributos title, url, rate e year.

4º Dia

  • criar uma nova classe HTMLGenerator, que recebe no construtor um Writer (por exemplo, PrintWriter).
  • adicionar um método chamado ‘generate’, que irá receber uma List.
  • aplicar estilização CSS, ou utilizar modelos do Bootstrap por exemplo.

5º Dia

  • criar uma classe chamada ImdbApiClient para encapsular a requisição para a API do IMDB .
  • criar uma classe para o parseamento JSON, pois o mesmo está avulso na classe Main.

6º Dia

  • criar uma interface chamada Content definir o comportamento comum de qualquer conteúdo. A interface terá quatro métodos com retornos do tipo string, os quais são: title(), urlImage(), rating() e year().
  • classe movie deverá implementar a interface Content.
  • criar um interface JsonParser, com o método parse().
  • consumir API da Marvel.
  • crie uma interface chamada 'APIClient' com um método getBody().
  • consumir a API da Marvel criando um cliente da API e JsonParser. Aqui também, você precisará de uma conta para gerar a API Key (chave pública e privada).
  • adicionar um novo método na interface chamado type(). Esse método irá devolver o tipo do conteúdo em questão, por exemplo: Movie, Series, ComicBook, etc.

7º Dia

  • implementar a interface Comparable<? extends Content> na classe (ou record) Movie (e também na classe Series, se você a tiver criado). Para começar, você pode implementar o método usando a nota (rating) como parâmetro de comparação.
  • o método sort() está sobrecarregado, então você pode passar um Comparator como segundo parâmetro para inverter a lista
  • implementar outras formas de comparação usando um Comparator.