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.
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/
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/
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/
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/
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/
- 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.