October 29, 2025
CQRS and Event Sourcing With Axon Framework Tutorial

CQRS With Axon Tutorial – Part 1 – Introduction and Setup in Intellij

In this series, I would teach you how to build a microservice that uses CQRS and Event Sourcing using the Axon Framework. In this Part 1, we would take an overview of the application we’ll build and the tools we’ll use.

I recommend you read up the concept of CQRS and Event Sourcing here.

  1. The Application we’ll Build
  2. What You’ll Learn in this Tutorial
  3. What We’ll Use in this Tutorial
  4. Setup in IntelliJ
  5. Setup Axon Server

 

1. The Application we’ll Build

We would build a gift card application step by step.

A gift card has a particular amount associated with it. I can be issued to someone. Then the recipient can redeem the amount. Also, the amount could be redeemed in parts. As such, when an amount is redeemed, the balance is updated/reduced.

Note: This demo was actually done in a webinar in 2018. However as of Axon Version 2019, the procedure in that webinar has many issues. Besides, the pace was such that beginners and intermediates in Axon Framework could not catch up.

So I have taken time to break it down to very simple, easy and clear bits. Besides, I’ll take time to explain the likely problems you’ll encounter and how to solve them

 

2. What You’ll Learn in this Tutorial
  • Axon Framework: for implementing CQRS and Event Sourcing
  • Axon Server: for managing Axon applications
  • AxonHub: used to connect among microservices
  • Vaadin: used for building robust User Interface
  • Kotlin: programming language that simplifies creating of classes
  • Kubernetes: we’ll deploy the application to Kubernetes cluster running on Google Cloud
  • Microservices: you can read it up here
  • Spring Profiles: enables mapping of your beans conditionally to profiles

 

3. What we’ll Use in this Tutorial

As mention we’ll use Axon Platform(Axon Framework + Axon Server), Vaadin, Kotlin.

In addition, we would use the following:

  • Intellij IDEA Community Edition (you can get it for free)
  • Spring Boot: for easily building web applications
  • Maven: dependency management

Prerequisite: You need to have Intellij installed.

Let’s dive right into Part 1!

 

4. Part 1 – Setup in Intellij

Follow the four steps below to set up the application

Step 1: Create a new Project in Intellij. Make sure to select Kotlin as the Language. You selection would be as shown below:

New Axon Project

Step 2: Click on Next and select the following dependencies:

Vaadin, H2 and Jpa. The screenshot is shown below. We’ll add more dependencies using the pom.xml file

Dependency Selection for Axon Project

 

Step 3: Click on Next, then Finish

Wait for a few second for the project setup to complete

 

Step 4: Create three packages inside the com.kindsonthegenius.gcwebinar package. The packages would be as follows

  • commands: package for the commands service
  • query: package for the query service
  • gui: package for the gui application

This three packages would eventually correspond to three microservices

 

5. Setup and Test Axon Server

We now need to set up Axon Server so we can monitor our services. To setup Axon Server, follow the steps below.

Step 1: Download Axon Server from here. (Its a zip file containing the axonserver jar file)

Step 2: Unzip the file into a local directory

Step 3: To start the server, open command prompt. Navigate to the axonserver jar file directory

Step 4: Run the command below:

java -jar axonserver.jar

The command starts the server

Step 5: Visit http://localhost:8024

You will see the AxonDashboard as shown below

AxonDashbaord
AxonDashbaord

 

At this point, you have completed the initial setup. Next, we would modify the pom.xml to add the needed dependencies, plugins and other modification. We’ll do this in Part 2

 

0 0 vote
Article Rating
Subscribe
Notify of
guest
9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] CQRS With Axon Tutorial – Part 1 – Introduction and Setup in Intellij […]

trackback

[…] CQRS With Axon Tutorial – Part 1 – Introduction and Setup in Intellij […]

trackback

[…] Now you need to start Axon Server. I guess you already know how to do this from Step 1. Just in case, this is it – How to Start Axon Server […]

trackback

[…] I recommend you follow this tutorial on building an CQRS-based application. […]

trackback

[…] are going explain all the bits and pieces of a CQRS-based application. Therefore, we would use the GiftCard application as a basis. You can find the tutorial […]

trackback
CQRS with Axon Framework Quick Start – Live Coding – 2020(Step by Step with Codes) – Trumpathon – News and information on latest top stories, weather, business, entertainment, politics,
5 years ago

[…] CQRS With Axon Tutorial – Part 1 – Introduction and Setup in Intellij […]

Neha
Neha
4 years ago

Could you please share Java link to this source code?

Makky
Makky
3 years ago

Where is the link to GITHUB??