Tutorial: Quarkus do Zero até o Deploy no Heroku, utilizando Quarkus Java + REST + CDI + Panache, Hibernate com Postgres + Postman
Tutorial: Quarkus do Zero até o Deploy no Heroku, utilizando Quarkus Java + REST + CDI + Panache, Hibernate com Postgres + Postman
Tecnologias utilizadas no projeto
- JAVA - Java é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun Microsystems em 1995. Existem muitas aplicações e sites que não funcionarão, a menos que você tenha o Java instalado, e mais desses são criados todos os dias;
- Quarkus - A Red Hat lançou o Quarkus, um framework Java nativo do Kubernetes feito sob medida para o GraalVM e OpenJDK HotSpot. O Quarkus visa tornar o java uma plataforma líder em ambientes serverless e Kubernetes, oferecendo aos desenvolvedores um modelo unificado de programação reativa e imperativa;
- Hibernate - O Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java.
- Hibernate Validator) - Permite implementar validações dos dados
Para reproduzir o exemplo, é necessário seguir os requisitos mínimos.
- Você vai precisar de uma IDE como por exemplo: IntelliJ IDEA, Eclipse, VSCode.
- Instale a JDK 8 or 11+
- Instale o Apache Maven 3.6+
- Panache Entity
- Docker (Apenas para subir o banco de dados Postgres Localmente)
- Escolha um cliente para conectar com o Banco de dados, exemplo: DBeaver, PGAdmin, Postico (Mac)
- Cliente para realizar requisições REST: Postman ou o Insomnia.
- Conta no Github (repositório de Código)
- Escolha um cliente para conectar com o Banco de dados, exemplo: DBeaver, PGAdmin, Postico (Mac)
- Cliente para realizar requisições REST: Postman ou o Insomnia.
- Instruções Adicionais:
- Instalação do Docker (Documentação oficial)
- Instalando Docker no windows: (Youtube, ESR)
- Instalando o Docker no Linux: (Youtube: LinuxTips)
- Instalando o Docker no Mac: (Youtube: Wellington Rogati)
A estrutura de arquivos está da seguinte maneira:
quarkus-product
.
├── Procfile
├── README-Quarkus.md
├── README.md
├── assets
│ ├── cadastrar-produto.png
│ └── listar-produtos.png
├── mvnw
├── mvnw.cmd
├── pom.xml
├── postman
│ └── Quarkus-Products.postman_collection.json
├── quarkus-product.iml
├── src
│ ├── main
│ │ ├── docker
│ │ │ ├── Dockerfile.jvm
│ │ │ └── Dockerfile.native
│ │ ├── java
│ │ │ └── br
│ │ │ └── com
│ │ │ └── mp
│ │ │ └── product
│ │ │ ├── api
│ │ │ │ └── ProductResource.java
│ │ │ ├── model
│ │ │ │ └── Product.java
│ │ │ └── repository
│ │ │ └── ProductRepository.java
│ │ └── resources
│ │ ├── META-INF
│ │ │ └── resources
│ │ │ └── index.html
│ │ └── application.properties
│ └── test
│ └── java
│ └── br
│ └── com
│ └── mp
│ └── product
│ └── api
│ ├── NativeProductResourceIT.java
│ └── ProductResourceTest.java
├── system.properties
└── target
├── classes
│ ├── META-INF
│ │ └── resources
│ │ └── index.html
│ ├── application.properties
│ └── br
│ └── com
│ └── mp
│ └── product
│ ├── api
│ │ └── ProductResource.class
│ ├── model
│ │ └── Product.class
│ └── repository
│ └── ProductRepository.class
├── generated-sources
│ └── annotations
├── maven-status
│ └── maven-compiler-plugin
│ └── compile
│ └── default-compile
│ ├── createdFiles.lst
│ └── inputFiles.lst
├── quarkus
│ └── bootstrap
│ └── dev-app-model.dat
└── wiring-devmode
43 directories, 28 files
- Para criar o projeto, basta utlizar o template do Maven + Quarkus, conforme o comando abaixo:
mvn io.quarkus:quarkus-maven-plugin:1.0.1.Final:create \
-DprojectGroupId=br.com.food \
-DprojectArtifactId=quarkus-food \
-DclassName="br.com.food.resource.FoodResource" \
-Dpath="/food"
(Alternativo) - O Quarkus disponibiliza um site chamado https://code.quarkus.io/
, onde é posísvel configurar o projeto de uma forma mais visual, vale a pena conferir, segue o link: https://code.quarkus.io/
Para iniciar o Postgresql, basta rodar o comando abaixo (O Docker precisa estar instalado):
docker run --name postgres-product -e "POSTGRES_PASSWORD=postgres" -p 5432:5432 -v ~/developer/PostgreSQL:/var/lib/postgresql/data -d postgres
Para executar um projeto em Quarkus, basta executar o comando:
mvn compile quarkus:dev
Fique a vontade para contribuir com o projeto.
- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/newFeature
) - Adicione suas mudanças (
git add .
) - Comite suas mudanças (
git commit -m 'Nova funcionalidade para facilitar ...
) - Faça o Push da Branch (
git push origin feature/newFeature
) - Abra um Pull Request
-- English
- Make a fork;
- Create a branck with your feature:
git checkout -b my-feature
; - Commit changes:
git commit -m 'feat: My new feature'
; - Make a push to your branch:
git push origin my-feature
.
After merging your receipt request to done, you can delete a branch from yours.
This project is under the MIT license. See the LICENSE for details.
Made with ♥ by Marcus Paulo 👋 Get in touch!