Skip to content

J0aoD3v/imersaoJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Imersão Java 2023 (Alura) - Descrição Geral

Este repositório contém o meu código-fonte de um curso de Java com 5 aulas, que cobrem desde o consumo de APIs até a publicação de APIs na nuvem. Cada aula possui seu próprio diretório, com seus respectivos códigos e arquivos.

AULA 1 - Consumindo uma API de filmes com Java

Nesta aula, aprendemos a consumir uma API de filmes com Java e manipular os dados retornados. Foi utilizado o protocolo HTTP para fazer as requisições e a biblioteca Gson para fazer o parsing do JSON retornado pela API.

Principais itens abordados:

  • Utilização do protocolo HTTP para fazer requisições a uma API
  • Utilização da biblioteca Gson para fazer o parsing de JSON
  • Manipulação dos dados retornados pela API para exibição na aplicação

Os códigos estão disponíveis na pasta aula1/

AULA 2 - Gerando figurinhas para WhatsApp

Na segunda aula, aprendemos a gerar figurinhas para WhatsApp utilizando a linguagem Java. Para isso, foi utilizado a biblioteca imagemagick para manipular imagens e a biblioteca whatsapp-sticker-utils para criar as figurinhas.

Principais itens abordados:

  • Utilização da biblioteca imagemagick para manipulação de imagens
  • Criação de figurinhas para WhatsApp utilizando a biblioteca whatsapp-sticker-utils
  • Manipulação dos dados de entrada e saída da aplicação

Os códigos estão disponíveis na pasta aula2/

AULA 3 - Ligando as pontas, refatoração e orientação a objetos

Nesta aula, aprendemos a utilizar os conceitos de orientação a objetos para refatorar o código das aulas anteriores. Também aprendemos a utilizar padrões de projeto para tornar o código mais limpo e organizado.

Principais itens abordados:

  • Introdução à orientação a objetos em Java
  • Refatoração do código das aulas anteriores para seguir princípios de orientação a objetos
  • Utilização de padrões de projeto como Singleton e Factory Method
  • Criação de classes e métodos para representar entidades do mundo real

Os códigos estão disponíveis na pasta aula3/

AULA 4 - Criando uma API RESTful com Spring Boot

Na aula 4, aprendemos a criar uma API RESTful utilizando o framework Spring Boot. Utilizamos o gerenciador de dependências Maven para gerenciar as dependências do projeto e facilitar a compilação.

Principais tópicos abordados:

  • Introdução ao Spring Boot e sua arquitetura; Criação de um projeto Spring Boot utilizando o Spring Initializr;
  • Definição de modelos de dados e a criação de repositórios utilizando o Spring Data JPA;
  • Implementação de endpoints RESTful utilizando o Spring MVC;
  • Utilização do Postman para testar as requisições e respostas da API.

Os códigos utilizados durante a aula estão disponíveis na pasta aula4/

Aula 5 - Publicando nossa API na nuvem usando o Fly.io

Na quinta e última aula, aprendemos a publicar nossa API na nuvem utilizando o serviço de hospedagem Fly.io, uma plataforma como serviço (PaaS). Utilizamos o Docker Hub como repositório central de imagens que podem ser usadas para executar containers de diferentes tecnologias e ferramentas.

Principais tópicos abordados:

  • Introdução ao Fly.io, o PaaS utilizado na Imersão Java
  • Criação de uma conta no Fly.io e configuração do ambiente de desenvolvimento
  • Utilização do Docker Hub como repositório de imagens
  • Criação de um arquivo de configuração para o Fly.io
  • Deploy da API na plataforma Fly.io
  • É importante lembrar que o Fly.io requer um cartão de crédito para o cadastro, por isso é fundamental entender a precificação e as quotas gratuitas oferecidas pela plataforma.

Os códigos utilizados na aula podem ser encontrados na pasta aula5/

Principais Ferramentas Utilizadas

  • Visual Studio Code - Editor de código utilizado durante o desenvolvimento do projeto.
  • Coding Pack para Java - Extensão para o Visual Studio Code que inclui uma série de ferramentas úteis para o desenvolvimento de aplicações Java, como suporte a Maven, Spring Boot e Tomcat, além de outras funcionalidades.
  • Git - Sistema de controle de versão utilizado para gerenciar o código fonte do projeto.
  • GitHub - Plataforma de hospedagem de código fonte que permite o compartilhamento e colaboração em projetos.
  • Entre outras citadas nas aulas 4 e 5.