{"id":19594028,"url":"https://github.com/jonatan-ivanov/dn23-boot3-workshop","last_synced_at":"2025-04-23T07:45:20.387Z","repository":{"id":139268001,"uuid":"608327778","full_name":"jonatan-ivanov/dn23-boot3-workshop","owner":"jonatan-ivanov","description":"Spring Boot 3 workshop for Devnexus 2023","archived":false,"fork":false,"pushed_at":"2023-04-04T20:46:54.000Z","size":5485,"stargazers_count":1,"open_issues_count":2,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-22T13:23:15.229Z","etag":null,"topics":["devnexus","distributed-tracing","docker","java","logging","metrics","micrometer","observability","spring","spring-boot"],"latest_commit_sha":null,"homepage":"https://devnexus.com/presentations/spring-boot-3-workshop","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonatan-ivanov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-01T19:42:50.000Z","updated_at":"2023-04-05T02:01:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"b914350b-06c8-49a2-8ca5-50c23828bb95","html_url":"https://github.com/jonatan-ivanov/dn23-boot3-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatan-ivanov%2Fdn23-boot3-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatan-ivanov%2Fdn23-boot3-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatan-ivanov%2Fdn23-boot3-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonatan-ivanov%2Fdn23-boot3-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonatan-ivanov","download_url":"https://codeload.github.com/jonatan-ivanov/dn23-boot3-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250394615,"owners_count":21423361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devnexus","distributed-tracing","docker","java","logging","metrics","micrometer","observability","spring","spring-boot"],"created_at":"2024-11-11T08:42:07.253Z","updated_at":"2025-04-23T07:45:20.365Z","avatar_url":"https://github.com/jonatan-ivanov.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Workshop Setup\nThis file can be used to check that you have correctly installed everything that you need for the workshop.\n\n### Java\nYou will need Java 17 with GraalVM to run this workshop.\nOptionally, you can also use Java 8 with earlier parts of the workshop as long as you can switch to Java 17 easily.\n\nWe recommend using SDKMAN! to manage installed Java versions, but you're free to use whatever you prefer as long as Java 17 is available. On Windows, you will need bash to use SDKMAN! (Git Bash, MinGW, Cygwin, WSL, etc.), if you don't want to install it you can try CHOCOLATEY! too.\n\n\n\n#### SDKMAN!\nThe following instructions can be used if you are using SDKMAN!\n\n1. Install SDKMAN! for your system by following instructions at https://sdkman.io/\n2. Install Java 8 by typing `sdk install java 8.0.362-librca`\n3. Install Java 17 by typing `sdk install java 22.3.r17-nik`\n\nCheck that you can use Java 8\n\n```shell\n$ sdk use java 8.0.362-librca\n$ java -version\nopenjdk version \"1.8.0_362\"\nOpenJDK Runtime Environment (build 1.8.0_362-b09)\nOpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)\n```\n\nCheck that you can use Java 17\n\n```shell\n$ sdk use java 22.3.r17-nik\n$ java -version\nopenjdk version \"17.0.5\" 2022-10-18 LTS\nOpenJDK Runtime Environment GraalVM 22.3.0 (build 17.0.5+8-LTS)\nOpenJDK 64-Bit Server VM GraalVM 22.3.0 (build 17.0.5+8-LTS, mixed mode, sharing)\n```\n\nCheck that you can use GraalVM\n\n```shell\n$ native-image --version\nGraalVM 22.3.0 Java 17 CE (Java Version 17.0.5+8-LTS)\n```\n\n\n\n#### CHOCOLATEY! (Windows)\nThe following instructions can be used if you are using CHOCOLATEY!\n\n1. Install CHOCOLATEY! for your system by following instructions at https://community.chocolatey.org/\n2. Install Java 8 by typing `PS C:\\\u003e choco install liberica8jdk` (in PowerShell as Administrator)\n3. Install Java 17 by typing `PS C:\\\u003e choco install graalvm-java17` (in PowerShell as Administrator)\n\nCheck that you can use Java 8 and GraalVM 17\n\n1. Open `System Properties`\n2. Click `Environment Variables...` and change the `PATH` and `JAVA_HOME` System Variables to use the right JDK/GraalVM paths\n3. Open a new PowerShell window and check the Java version\n```shell\nPS C:\\\u003e java -version\nopenjdk version \"17.0.6\" 2023-01-17\nOpenJDK Runtime Environment GraalVM CE 22.3.1 (build 17.0.6+10-jvmci-22.3-b13)\nOpenJDK 64-Bit Server VM GraalVM CE 22.3.1 (build 17.0.6+10-jvmci-22.3-b13, mixed mode, sharing)\n```\n\n\n\n#### Without SDKMAN! or CHOCOLATEY!\nIf you prefer not to use SKDMAN! or CHOCOLATEY! you can install Java and [GraalVM](https://github.com/graalvm/graalvm-ce-builds/releases) whichever way you're most comfortable.\nAs long as you have Java 17 and the `native-image` tool install, you should be fine.\n\nPlease check your installation by checking the output of `java -version` and `native-image --version`:\n\n```shell\n$ java -version\nopenjdk version \"17.0.5\" 2022-10-18 LTS\nOpenJDK Runtime Environment GraalVM 22.3.0 (build 17.0.5+8-LTS)\nOpenJDK 64-Bit Server VM GraalVM 22.3.0 (build 17.0.5+8-LTS, mixed mode, sharing)\n\n$ native-image --version\nGraalVM 22.3.0 Java 17 CE (Java Version 17.0.5+8-LTS)\n```\n\nIf you get an error saying that `native-image` is not found, e.g.:\n\n```\ncommand not found: native-image\n```\n\nThis might not be a big problem, it might only mean that your GraalVM installation does not have `native-image` pre-installed. Try to install it with the GraalVM Updater:\n\n```shell\n$ gu install native-image\n```\n\n\u003e **NOTE**: On Windows, GraalVM installation contains the `gu.cmd` command. Depending on the terminal you use, it can be executed as just `gu` or `gu.cmd`.\n\nAnd check the version again:\n\n```shell\n$ native-image --version\n```\n\n\n\n### Maven\nThis workshop uses `mvnw` so you shouldn't need to install Maven directly.\n\nTo check that Maven works run the following command from this directory.\n\nOn Linux/Mac\n\n```shell\n$ ./mvnw --version\n```\n\nOn Windows\n\n```shell\n$ mvnw.cmd --version\n```\n\nIf you want to ensure your local Maven cache has most of the files we'll need, you can build the pom files in this directory:\n\n```shell\n$ ./mvnw package\n```\n\nYou should see a \"success\" message after these command:\n```\n[INFO] ------------------------------------------------------------------------\n[INFO] BUILD SUCCESS\n[INFO] ------------------------------------------------------------------------\n```\n\n\n\n### Docker Compose\nWe will be using Docker Compose to setup run things like Postgres which we will need for the workshop.\nWe recommend Docker Desktop if possible, but any Docker installation that can run `docker compose` should work fine.\n\nDocker Desktop is free for educational purposes.\n\nPlease install Docker from https://www.docker.com or using your favorite open source distribution.\n\nTo check docker is running, you can run:\n\n```shell\n$ docker run --rm hello-world\n```\n\nTo check docker compose is working, run the following from this directory:\n\n```shell\n$ docker compose -f docker-compose-hello.yml up\n```\n\nOnce you see the \"hello world\" output, you can destroy the containers using:\n\n```shell\n$ docker compose -f docker-compose-hello.yml down\n```\n\nTIP: Depending on your installation, you might need to use the command `docker-compose` rather than `docker compose`.\n\nIf the hello world example works, then you can try starting the full docker compose configuration that we'll be using:\n\n```shell\n$ docker compose up\n```\n\nNOTE: it will take some time to initially start the containers\n\nCheck that the following links work:\n\nhttp://localhost:9090 (Prometheus)\nhttp://localhost:3000 (Grafana)\n\nIf everything works you can hit `ctrl-c` to stop docker compose and you can destroy the containers using:\n\n```shell\n$ docker compose down\n```\n\n\n\n### HTTPie\nWe'll need to make some REST calls to our application.\nYou can use whatever tool you like, but if you have no preference we recommend HTTPie.\n\nYou can install it from https://httpie.io/\n\n\n\n### IDE\nYou can use any Java IDE you like to work with the code, just check that it can work with Maven projects.\n\nPlease import the `dog-service` project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonatan-ivanov%2Fdn23-boot3-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonatan-ivanov%2Fdn23-boot3-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonatan-ivanov%2Fdn23-boot3-workshop/lists"}