<aside>
두 개 이상의 프로젝트 코드를 하나의 버전 관리 저장소에서 관리하는 방법이다.
</aside>
root/
├─ apps/
│ ├─ api-admin/
│ │ ├─ src/main/java/
│ │ │ ├─ project-1/
│ │ │ │ ├─ common.controller
│ │ │ │ ├─ config
│ │ │ │ ├─ home.controller
│ │ │ │ ├─ notice
│ │ │ │ │ ├─ adaper
│ │ │ │ │ ├─ model
│ │ │ │ │ ├─ persistence
│ │ │ │ │ │ ├─ entity
│ │ │ │ │ │ ├─ mapper
│ │ │ │ │ │ └─ repository
│ │ │ │ │ └─ service
│ │ │ │ ├─ security
│ │ │ │ ├─ upload
│ │ │ │ └─ user
│ │ │ └─ resources
│ │ ├─ test/
│ │ └─ build.gradle.kts
│ └─ api-user/
├─ buildSrc/
├─ containers/
│ ├─ project-1/
│ │ └─ Dockerfile
│ └─ project-2/
│ └─ Dockerfile
├─ docs/
├─ libs/
│ ├─ common-util/
│ │ ├─ src/main/java/
│ │ │ ├─ project-1/
│ │ │ │ ├─ audit
│ │ │ │ ├─ auth
│ │ │ │ ├─ config
│ │ │ │ ├─ converter
│ │ │ │ ├─ intercepter
│ │ │ │ ├─ jwt
│ │ │ │ └─ model
│ │ │ └─ resources
│ │ ├─ test/
│ │ └─ build.gradle.kts
│ ├─ spring-security-stater/
│ ├─ spring-mail-starter/
│ ├─ common-exception/
│ ├─ tiktok-client/
(...)
│
└─ scripts/
<aside>
장점
<aside>
단점
단일객체 - libs
autoConfig
립스
커넥션풀 db
레튜스 - 라이브러리