Code Monkey home page Code Monkey logo

api-quarkus-social's Introduction

Projeto demonstrativo utilizando a nova stak do java Quakus - referente ao curso Aprenda Quarkus e Desenvolva API's RESTful Poderosas em Java na plataforma de ensino udemy

Pré-requisitos

O maven deve está instalado, caso não esteja segue o link maven

Instalar e configurar o java, caso não esteja segue o link java

Instalar e configurar o docker link docker

Instalar o IntelliJ [IntelliJ] (https://www.jetbrains.com/pt-br/idea/download/#section=windows)

Tecnologias utilizadas e outros

1- Java 11 Sobre

2- Maven 3.8.5 Sobre

3- Docker Sobre

4- IntelliJ Sobre

5- Mysql Sobre

6- Hibernate-orm-panache Sobre

7- Jsonb Sobre

8- OpenApi Sobre

9- Lombok Sobre

10- Docker Compose Sobre

Proceso de criação do projeto e para rodar o mesmo

1- Para criação desse projeto
-> https://quarkus.io/guides/maven-tooling

2- Comandos iniciais
-> mvn io.quarkus.platform:quarkus-maven-plugin:2.9.2.Final:create

3 Após a criação, entrar no projeto e verificar se está compilando
-> mvn compile quarkus:dev

4- Posso listar todas depencias que posso add no meu projeto
-> mvn quarkus:list-extensions

5- Add uma extenção
-> mvn quarkus:add-extension -Dextensions="hibernate-validator"
-> mvn quarkus:add-extension -Dextensions="jdbc-h2, hibernate-orm, hibernate-orm-panache, resteasy-jsonb"
-> mvn quarkus:add-extension -Dextensions="jdbc-mysql" 
-> mvn quarkus:add-extension -Dextensions="jdbc-h2"
-> mvn quarkus:add-extension -Dextensions="quarkus-smallrye-openapi"
-> mvn quarkus:add-extension -Dextensions="quarkus-redis-client"
-> mvn quarkus:add-extension -Dextensions="quarkus-flyway"

6- Limpar o projeto
-> mvn clean package -DskipTests=true

7- Add o project Lombok
https://projectlombok.org/setup/maven

8- Gerando o jar para rodar em prod
-> mvn clean package -DskipTests=true
-> java -jar ./target/quarkus-app/quarkus-run.jar

9- Subindo a applicação no docker
-> instalar o docker -> https://docs.docker.com/desktop/windows/install/

10- Criando a imagem
-> docker ps -> para ver se tem alguma imagem criada ou rodando

11- Criando a imagem 
-> docker build -f src/main/docker/Dockerfile.jvm -t quarkus-social:1.0 .

12- Vamos criar uma rede network para os containers e nossas aplicações se comunicarem
-> docker network create --driver bridge quarkus-social-network

13- Agora vamos criar um container mysql
-> docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --network quarkus-social-network --name quarkus-social-network-mysql mysql:8.0

14- Rodando a imagem criada no container docker
-> docker run -i --rm -p 8080:8080 -e DB_HOST=quarkus-social-network-mysql --network quarkus-social-network --name quarkus-social-container quarkus-social:1.0

15- Caso queira deletar e subir novamente o container do banco
-> docker container rm quarkus-social-network-mysql --force
-> docker container rm quarkus-social-container --force

api-quarkus-social's People

Contributors

thiago-jv avatar

Stargazers

 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.