https://github.com/piomin/sample-spring-modulith
The demo repository showing modulith architecture with Spring Boot and Spring Modulith
https://github.com/piomin/sample-spring-modulith
modulith spring-boot spring-data-jpa spring-modules
Last synced: 23 days ago
JSON representation
The demo repository showing modulith architecture with Spring Boot and Spring Modulith
- Host: GitHub
- URL: https://github.com/piomin/sample-spring-modulith
- Owner: piomin
- Created: 2023-10-10T10:14:32.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-23T22:38:09.000Z (about 1 month ago)
- Last Synced: 2025-03-30T01:09:16.351Z (30 days ago)
- Topics: modulith, spring-boot, spring-data-jpa, spring-modules
- Language: Java
- Homepage: https://piotrminkowski.com/
- Size: 62.5 KB
- Stars: 94
- Watchers: 2
- Forks: 26
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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` entityThe 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
```