README.adoc

June 11, 2025 ยท View on GitHub

= image:https://raw.githubusercontent.com/micronaut-projects/static-website/gh-pages/images/favicon-32x32.png[] https://alvarosanchez.github.io/micronaut-workshop/[Micronaut Workshop] Alvaro Sanchez-Mariscal alvaro.sanchezmariscal@gmail.com :toc: left :toclevels: 4 :icons: font :imagesdir: ./images :experimental:

++++ <img style="position: fixed; top: 0; right: 0; border: 0;" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_red_aa0000.png" alt="Fork me on GitHub" data-canonical-src=https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/GitHub_forkme_ribbon_right_green.svg/2048px-GitHub_forkme_ribbon_right_green.svg.png"> ++++

Introductory workshop about http://micronaut.io[Micronaut].

== Software Requirements

In order to do this workshop, you need the following:

  • Linux, MacOS or Windows with WSL and shell access, with the following installed:
  • curl.
  • wget.
  • unzip.
  • git.
  • A valid Docker environment with the following image pulled: postgres:latest.

  • Ensure that the current JDK is GraalVM for Java 21:

    $ java -version java version "21.0.7" 2025-04-15 LTS Java(TM) SE Runtime Environment Oracle GraalVM 21.0.7+8.1 (build 21.0.7+8-LTS-jvmci-23.1-b60) Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.7+8.1 (build 21.0.7+8-LTS-jvmci-23.1-b60, mixed mode, sharing)

=== Clone this repository

Once done, you can clone this repo:

git clone https://github.com/alvarosanchez/micronaut-workshop.git

NOTE: You will find each lab's template files on each labNN folder. Solution is always inside a solution folder. To highlight the actions you actually need to perform, an icon is used: icon:hand-o-right[]

== Application architecture

Throughout this workshop, you will be creating a football (soccer) management system.

ifdef::generate-diagrams[] [plantuml, football-diagram, png] .... together { node Clubs database Postgres }

Clubs -> Postgres .... endif::[]

image::football-diagram.png[]

  • clubs is the microservice responsible for managing clubs. It uses Micronaut Data JPA as a data access layer.

:numbered:

include::lab01.adoc[]

include::lab02.adoc[]