본 프로젝트는 멀티 모듈 프로젝트로 구성되어 있습니다. 각 모듈의 위계 및 역할을 분명히 하고, 아래와 같은 규칙을 적용합니다.
- apps : 각 모듈은 실행가능한 SpringBootApplication 을 의미합니다.
- modules : 특정 구현이나 도메인에 의존적이지 않고, reusable 한 configuration 을 원칙으로 합니다.
- supports : logging, monitoring 과 같이 부가적인 기능을 지원하는 add-on 모듈입니다.
Root
├── apps ( spring-applications )
│ ├── 📦 commerce-api
│ └── 📦 commerce-streamer
├── modules ( reusable-configurations )
│ ├── 📦 jpa
│ ├── 📦 redis
│ └── 📦 kafka
└── supports ( add-ons )
├── 📦 jackson
├── 📦 monitoring
└── 📦 logging