Projeto - Imersão Java
Nesta 1º parte, do projeto que está em desenvolvimento, estamos conhecendo todo o ecossistema do JAVA e ao memso tempo aplicando os conhecimentos com API's e outras tecnologias. A API utilizada nesta 1º parte do projeto fôra fornecida através do site do IMDB, que serve para mostrar e listar de diversas formas em geral, filmes e séries. Já na 2º parte do projeto, criamos uma API linkada com o MongoDB para indexar algumas informaçãoes sobre Linguagens de Programação. Há um teste bônus feito com uma API da NASA para gerar stickers de fotos que foram tiradas pela NASA em determinado dia do ano.
Partes do projeto
-
https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/TopMovies.json
1º parte - Fazer com que o JAVA liste os Top filmes da url: - Progresso: 100%
-
2º parte - Criar stickers para o Whatsapp, utilizando-se das imagens dos Top filmes listados na url da 1º e da 2º parte.
- Progresso: 100%
-
3º parte - Organizar os códigos do projeto aplicando conhecimentos de Orientação a Objeto.
- Progresso: 100%
Abstração da 1º parte:
Abstração da 2º parte:
-
4º parte - Criando uma API em JAVA com os recursos do framework Spring e do MongoDB.
Nesta parte do projeto, o objetivo foi utilizar os conhecimentos de Java junto de outros frameworks e mostrar a possibilidade de coisas que podemos fazer quando utilizamos uma linguagem de programação junto de outras ferramentas. E ainda colocamos em prática o conceito básico de um CRUD.
Para tal função, utilizamos o MongoDB, que é um banco de dados do tipo NoSQL que guarda documentos em formato .JSON, e neste DB colocamos arquivos com informações sobre linguagens de programação, id, título, ranking e um link com a fonte da imagem da Linguagem de Programação. E para efetuar alguns testes utilizamos o Postman para fazer requisições HTTP e testar o CRUD.
- Progresso: 100%
Usando o Postman para testar a API:
-
5º parte - Juntando a API com o projeto "Gerador de Stickers" e tentar fazer Deploy na nuvem.
Quando colocamos o link da API rodando em Localhost no código do projeto "Gerador de Sticekrs", ele gerará stickers das linguagens de programção ques estão armazenadas no MongoDB, apesar de conter outras informações como id e ranking, o código extrator pega apenas o campo do link da imagem para fazer a figurinha da linguagem de programação.
- Progersso: 90%
Agora, em questão de dar Deploy em algum serviço de Cloud, é um tanto complicado devido a questões de precificação das plataformas, mesmo se for para um deploy de free trial. No entanto, mesmo utilizando a plataforma Fly.io para testes, uma imagem Docker fornecida por terceiros para testes, e feitas as devidas configurações, por algum motivo o domínio fornecido pelo Fly.io para acessar a API que rodava em Localhost não indexa o arquivo .JSON que contém as informações linguagens de programação. Mesmo que o Fly.io tenha dado Deploy na imagem docker, ocorre algum erro de requisição HTTP ao acessar a API. ❌ Problemas atuais ❌
Ativando a imagem Docker pelo Powershell
Arquivos no MongoDB
✔️ Técnicas e Tecnologias utilizadas no projeto
Visual Studio Code
- Paradigma de Orientação a Objeto
- Java 20
- Git
- Spring
- MongoDB
- Docker
- Dockerhub
- Fly.io
- Windows Powershell
- Postman
- Maven
🏁 Considerações finais
Após ter passado 1 semana trabalhando e aprendendo a desenvolver esse projeto junto da linguagem Java e todo seu ecossistema, há muitas coisas no projeto que tenho em mente para que possam ser aperfeiçoadas e implementadas futuramente para melhorar sua coerência e seu propósito junto de todas as suas funcionalidades.
- 🚧
⚠️ Progresso total do projeto: 80%