# sample-spring-modulith
**Repository Path**: mmhotsky/sample-spring-modulith
## Basic Information
- **Project Name**: sample-spring-modulith
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-23
- **Last Updated**: 2024-10-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Modulith with Spring Boot Demo Project [](https://twitter.com/piotr_minkowski)
[](https://circleci.com/gh/piomin/sample-spring-modulith)
[](https://sonarcloud.io/dashboard?id=piomin_sample-spring-modulith)
[](https://sonarcloud.io/dashboard?id=piomin_sample-spring-modulith)
[](https://sonarcloud.io/dashboard?id=piomin_sample-spring-modulith)
[](https://sonarcloud.io/dashboard?id=piomin_sample-spring-modulith)
In this project, I'm demonstrating how to implement the modulith app using Spring support. Here are the [docs](https://docs.spring.io/spring-modulith) about the project.
1. How to organize the SpringBoot in modular way and use Spring Modulith to simplify and verify the app structure: [Guide to Modulith with Spring Boot](https://piotrminkowski.com/2023/10/13/guide-to-modulith-with-spring-boot/)
## Architecture
Our sample app is divided into 4 logical modules:
- **department** - manage `Department` entity
- **employee** - manage `Employee` entity
- **gateway** - expose internal modules over REST API
- **organization** - manage `Organization` entity
The following picture illustrates the architecture described above.

## Running
You need to have JDK17+ and Maven. Also run Docker on your machine to enable Zipkin container.
Then just run the app with the following command:
```shell
$ mvn spring-boot:run
```