Workshop Super Heroes

Build and deploy a microservice architecture where Super Heroes fight against Super Villains.

Instructions

There are several workshops available that you can follow depending your needs:

  • Develop the Super Heroes with Quarkus: If you are a developer, are new to quarkus, then this workshop might interest you. You will develop, from scratch, a set of microservices accessing databases, Kafka channels and exposing APIs. Check https://quarkus.io/quarkus-workshops/super-heroes/index.html to get the workshop instructions.

  • Deploy the Super Heroes to Azure Container Apps: If you are interested in deploying an already made application to Azure Container Apps, then this workshop is for you. You will not develop any Quarkus (you don’t even need Java tools), but you will be pushing Docker containers, creating managed services on Azure (databases, Kafka) and monitoring the entire system (watch a video presenting the workshop). Check https://quarkus.io/quarkus-workshops/super-heroes/index-azure.html to get the workshop instructions.

Generate the documentation

You can either generate the documentation for each exercise or for the entire workshop. For that, you just run the Maven command mvn clean generate-resources under the docs directory. You can then open the docs/target/generated-asciidoc/spine.html page and read the entire documentation of the workshop.

Generate the zip files

To generate the zip files, execute the following command from the root of the project:

$ mvn assembly:single -N

This generates the following zip files

  • dist/quarkus-super-heroes-workshop.zip: contains the bare minimum code to follow up the workshop

  • dist/quarkus-super-heroes-workshop-complete.zip: contains all the code (useful if you get lost or want to jump a section of the workshop)

Start the infrastructure

This workshop requires a couple of extra technical services (databases, kafka…​). Start them using the docker-compose.yaml file located in the infrastructure directory:

$ cd infrastructure
$ docker compose up

Stop them using:

CTRL+C
$ docker compose down
$ docker compose rm

Build

To build the entire code, you need to run the following commands from the root project (also see how we activate the complete profile):

$ mvn clean install -f super-heroes/extension-version
$ mvn clean install -Pcomplete

Running the complete system

  • Run the infrastructure and build the complete system as explained above.

  • In a new terminal, run the heroes microservice

$ cd rest-heroes
$ mvn clean compile quarkus:dev
  • In a new terminal, run the villains microservice

$ cd rest-villains
$ mvn clean compile quarkus:dev
  • In a new terminal, run the fights microservice

$ cd rest-fights
$ mvn clean compile quarkus:dev
  • In a new terminal, run the fights microservice

$ cd event-statistics
$ mvn clean compile quarkus:dev

Ports

References