Coder Social home page Coder Social logo

api-sticks's Introduction

IMERSÃO JAVA

Status do Projeto: Terminado

A Imersão Java, realizada pela Alura, se constituiu em 5 aulas de programação, gratuitas, para que programadores conseguissem desenvolver do zero sua primeira aplicação em Java, progredindo na carreira e ampliando ou começando o seu portfólio.

| Links Utilizados:

Endpoint da API do IMDB que devolve os 250 melhores filmes.
Endpoint alternativo a API do IMDB.
Documentação da API do IMDB.
Documentação da Classe HttpRequest.
Documentação das APIs da NASA.
API da Foto Astronômica do dia da NASA.


AULA 01 - CONSUMINDO UMA API DE FILMES COM JAVA

Aplicação criada durante a Imersão Java, realizada pela Alura, essa aplicação vai consumir a API do IMDb e exibir os 250 filmes/séries mais populares, destacando seus pôsteres, classificação, quantidade de votos é seus autores... Isso tudo sem utilizar nenhuma biblioteca externa!

| Materiais Complementares da Aula 01:

• Artigo na Alura: O que é JSON?.
• Artigo na Alura: Decore o terminal com cores e emojis.
• Artigo na Alura: Aplicações Java com o VS Code.

| Desafios da Aula 01:

  • [Desafio] 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.
  • [Desafio] 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!
  • [Desafio] 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. [Em Andamento]
  • [Desafio] Mudar o JsonParser para usar uma biblioteca de parsing de JSON como Jackson ou GSON. [Em Andamento]
  • [Desafio] : 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. [Em Andamento]

AULA 02 - GERANDO FIGURINHAS PARA WHATSAPP

Desenvolvendo um gerador de figurinhas em cima da aplicação e explorando outras bibliotecas nativas do Java, para que possamos enviar por Whatsapp os nossos filmes preferidos!

| Materiais Complementares da Aula 02:

• Aula do Curso da Alura: Java Polimorfismo: entenda herança e interfaces.
• Apostila da Alura: Java e Orientação a Objetos.

| Desafios da Aula 02:

  • [Desafio] Ler a documentação da classe abstrata InputStream.
  • [Desafio] Centralizar o texto na figurinha.
  • [Desafio] Fazer um pacote no Whatsapp e/ou Telegram com as suas próprias figurinhas!
  • [Desafio] Criar diretório de saída das imagens, se ainda não existir.
  • [Desafio] Colocar outra fonte como a Comic Sans ou a Impact, a fonte usada em memes.
  • [Desafio] Colocar uma imagem de você que está fazendo esse curso sorrindo, fazendo joinha!
  • [Desafio] Colocar contorno (outline) no texto da imagem.
  • [Desafio] 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.
  • [Desafio] Fazer com que o texto da figurinha seja personalizado de acordo com as classificações do IMDB.
  • [Desafio] Usar alguma biblioteca de manipulação de imagens como OpenCV pra extrair imagem principal e contorná-la.

AULA 03 - LIGANDO AS PONTAS, REFATORAÇÃO E ORIENTAÇÃO A OBJETOS

Aproveitando para melhorar nosso código com as refatorações necessárias para torná-lo mais flexível e fácil de entender.

| Materiais Complementares da Aula 03:

• Artigo na Alura: Como não aprender Java e Orientação a Objetos: herança.
• Podcast Hipsters.tech sobre: Práticas de Orientação a Objetos.
• Podcast Hipsters.tech sobre: Design Patterns.
• Podcast Hipsters.tech sobre: SOLID.

| Desafios da Aula 03:

  • [Desafio] Transformar a classe que representa os conteúdos em um Record, disponível a partir do Java 16
  • [Desafio] Criar as suas próprias exceções e usá-las na classe que implementa o cliente HTTP
  • [Desafio] Usar recursos do Java 8 e posterior, como Streams e Lambdas, para mapear uma lista em uma outra
  • [Desafio] Criar uma Enum que une, como configurações, a URL da API e o extrator utilizado
  • [Desafio] Consumir outras APIs que contém imagens, como a da Marvel, que é bem diferente. Repositório com APIs públicas: APIs.

Instrutores e Instrutoras da Alura nessa Imersão:

#ImersãoJava❤️

api-sticks's People

Contributors

isacbm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.