https://github.com/jaeyeonme/spring-boot-multi-module-with-kotlin
Spring Boot + Kotlin DSL Multi Module + Kotlin (template)
https://github.com/jaeyeonme/spring-boot-multi-module-with-kotlin
kotlin kotlin-dsl multi-module-project spring-boot template
Last synced: about 2 months ago
JSON representation
Spring Boot + Kotlin DSL Multi Module + Kotlin (template)
- Host: GitHub
- URL: https://github.com/jaeyeonme/spring-boot-multi-module-with-kotlin
- Owner: jaeyeonme
- License: gpl-3.0
- Created: 2023-06-30T06:18:40.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-07T08:42:10.000Z (almost 3 years ago)
- Last Synced: 2025-01-18T10:31:03.281Z (over 1 year ago)
- Topics: kotlin, kotlin-dsl, multi-module-project, spring-boot, template
- Language: Kotlin
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Project Structure
**Multi Modules Single Project**
```
root (com.example)
├── build.gradle
└── settings.gradle
└── buildSrc
│ ├── build.gradle
│ └── src
│ └── main
│ └── kotlin
│ └── Dependencies.kt
│ └── Plugins.kt
│ └── Versions.kt
└── module-api
│ ├── build.gradle
│ └── src
│ └── main
│ └── java
│ └── com
│ └── example
│ └── moduleapi
│ └── ApiApplication.kt (Spring Boot Application)
└── module-common
│ ├── build.gradle
│ └── src
│ └── main
│ └── java
│ └── com
│ └── example
│ └── modulecommon
└── module-domain
├── build.gradle
└── src
└── main
└── java
└── com
└── example
└── moduledomain
```
## Code Formatting and Linting
```bash
./gradlew ktlintCheck // 로 틀린부분을 체크받고
./gradlew ktlintFormat // 로 자동수정을 할 수 있습니다.
```
ktlintcheck를 수동으로 수행하는 것이 귀찮다면 다음 명령으로 커밋할때마다 `ktlintcheck`가 실행되게 할 수 있습니다.
```bash
./gradlew addKtlintCheckGitPreCommitHook
```
## Build the Project
```bash
./gradlew :module-api:build
```
## Modules
- **module-api**: This moudle is reponsible for the API Server.
- **module-domain**: This module is responsible for the domain logic
- **module-common**: This moudle is responsible for common utilities and libraries.
## Dependency Flow
```lua
+----------------+
| module-api |
| |
+----------------+
^
|
+-------------------+
| module-domain |
| |
+-------------------+
^
|
+----------------+
| module-common |
| |
+----------------+
```