Developing Microservices with Quarkus Course Syllabus

Full curriculum breakdown — modules, lessons, estimated time, and outcomes.

Overview: This project-driven course provides a concise yet comprehensive introduction to building microservices with Quarkus. Designed for Java developers, it spans approximately 6 hours and combines foundational concepts with hands-on labs. You'll progress from setting up a Quarkus project to developing REST, WebSocket, and GraphQL endpoints, integrating persistence, and implementing fault tolerance. The course concludes with a capstone project that integrates all components into a functional microservice suite.

Module 1: Introduction to Quarkus & Project Setup

Estimated time: 0.5 hours

  • Understanding Quarkus philosophy: container-first and native image support
  • Setting up development environment with Quarkus CLI and Maven plugin
  • Bootstrapping a new Quarkus project
  • Exploring live-coding with hot reload

Module 2: Building RESTful Services

Estimated time: 1 hour

  • Creating JAX-RS resources for HTTP endpoints
  • Using CDI for dependency injection
  • Serializing data with JSON-B and Jackson
  • Documenting APIs using OpenAPI and Swagger annotations

Module 3: REST Client & API Documentation

Estimated time: 1 hour

  • Defining REST clients with MicroProfile REST Client
  • Consuming external HTTP services
  • Registering and configuring client instances
  • Generating and viewing interactive Swagger UI documentation

Module 4: WebSockets in Quarkus

Estimated time: 0.75 hours

  • Implementing WebSocket servers with @ServerEndpoint
  • Managing WebSocket sessions and messages
  • Broadcasting real-time updates to clients
  • Building a functional chat-based microservice

Module 5: GraphQL Endpoints

Estimated time: 0.75 hours

  • Defining GraphQL schemas using SmallRye GraphQL
  • Implementing queries and mutations
  • Mapping payloads to domain objects
  • Exposing a fully functional GraphQL API

Module 6: Fault Tolerance & Health Checks

Estimated time: 0.75 hours

  • Applying @Retry and @CircuitBreaker for resilience
  • Implementing liveness and readiness health checks
  • Configuring fault tolerance policies
  • Testing failure recovery in microservices

Module 7: Persistence & Database Integration

Estimated time: 1 hour

  • Integrating PostgreSQL with Quarkus
  • Using Panache ORM for simplified entity management
  • Performing CRUD operations with Panache
  • Introduction to reactive database clients

Module 8: Capstone Project – Microservice Application

Estimated time: 1 hour

  • Developing a cohesive microservice using REST, WebSockets, and GraphQL
  • Integrating fault tolerance and health checks
  • Connecting to a database with Panache for persistence

Prerequisites

  • Familiarity with Java and basic web concepts
  • Experience with Maven or Gradle build tools
  • Basic understanding of REST APIs and JSON

What You'll Be Able to Do After

  • Create and configure Quarkus applications using CLI or Maven
  • Build and document RESTful services with JAX-RS and OpenAPI
  • Consume external APIs using type-safe REST clients
  • Implement real-time communication with WebSockets
  • Expose and query data via GraphQL endpoints
View Full Course Review

Course AI Assistant Beta

Hi! I can help you find the perfect online course. Ask me something like “best Python course for beginners” or “compare data science courses”.