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.
- https://www.graalvm.org/downloads[Oracle GraalVM for JDK 21].
- Recommended to be installed with https://sdkman.io[SDKMAN!]:
sdk install java 21.0.7-graal.
-
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[]
clubsis the microservice responsible for managing clubs. It uses Micronaut Data JPA as a data access layer.
:numbered:
include::lab01.adoc[]
include::lab02.adoc[]