/tomato-architecture-spring-boot-demo

A sample Spring Boot application following Tomato Architecture

Primary LanguageJavaApache License 2.0Apache-2.0

tomato-architecture-spring-boot-demo

A sample Spring Boot application following Tomato Architecture

Prerequisites

  • JDK 21
  • Docker Compose

TechStack

  • Java 21
  • Spring Boot
  • Spring Modulith
  • jOOQ
  • PostgreSQL
  • Kafka
  • Testcontainers
  • Docker Compose

How to run?

The application is configured to use Docker Compose to start the dependent services (Postgres, Kafka). You can simply run BookStoreApplication.java from your IDE to start the application.

To know more about Spring Boot Docker Compose Support, you can watch the following video.

Spring Boot Docker Compose Support

You can also start the application from commandline as follows:

$ ./mvnw spring-boot:run

Run tests

You can run the tests as follows:

$ ./mvnw test

The application is using Spring Modulith to verify the module boundaries. To know more about Spring Modulith, you can watch the following video.

Spring Modulith Crash Course : Building Modular Monoliths using Spring Boot