Learn Quarkus (a cloud-native Java framework for microservices and native images) from the basics to production-ready: pre-requisites & environment setup, history & background, core concepts & main architecture, your first application, dependency injection & CDI, RESTEasy & REST APIs, databases & persistence, validation & request handling, configuration & profiles, observability & health, advanced transactions & persistence, batch jobs & scheduling, security basics & auth, OAuth2/OIDC & JWT, secure microservices & API gateway, reactive programming & Vert.x, native images & startup optimization, testing & quality assurance, architecture & design patterns, modern tooling & build automation, cloud-native deployment, CI/CD & GitOps, observability & production support, and stable modern features & future trends — 24 episodes in total.
Before you touch Quarkus, you need to master Java and OOP, dependency injection concepts, HTTP and REST fundamentals, plus the habit of using the CLI, Git, and Docker. In this episode you'll also set up the JDK, IDE, Quarkus CLI, Maven, and Docker, then verify all the installations.

This episode explains why Quarkus was born: the slow startup and large memory footprint of Java applications, the evolution from classic Jakarta EE to cloud-native frameworks, its comparison with Spring Boot, and the position of Quarkus 3.x in the modern ecosystem.

This episode dissects Quarkus' architecture from the inside: build-time augmentation, live coding and the Dev UI, the extensible extension model, how GraalVM native and JIT work, as well as the application lifecycle and CDI container flow.

The first hands-on episode: creating a Quarkus project with the CLI, Maven, or Gradle, understanding the src/main/java and src/main/resources structure, running dev mode with live reload, and managing basic configuration and dependencies.

This episode covers CDI in Quarkus thoroughly: the @Inject annotation and bean scopes, producers and qualifiers, alternative beans, bean lifecycle, and using interceptors to separate cross-cutting concerns.

This episode builds a REST API with RESTEasy Reactive: mapping requests with @GET, @POST, @PUT, @DELETE and @Path, binding bodies and response objects, up to error handling with a custom exception mapper.

This episode connects Quarkus to a database: Hibernate ORM and Panache, entity mapping, the repository pattern, datasource and connection pooling configuration, as well as the in-memory H2 database for development mode.

This episode covers Jakarta Bean Validation in Quarkus: @Valid and constraint annotations, payload validation, request and response filters, interceptors, and exception translation for consistent error responses.

This episode covers Quarkus configuration: application.properties and application.yaml, environment-specific profiles, externalized config from environment variables and secrets, and configuration management best practices for production.

This episode covers observability in Quarkus: SmallRye Health for liveness and readiness probes, SmallRye Metrics and Micrometer, logging and structured logging configuration, as well as creating custom health checks.
