{"id":23282782,"url":"https://github.com/devfancy/kotlin-springboot-multi-module","last_synced_at":"2025-04-06T14:23:24.050Z","repository":{"id":268040169,"uuid":"902975956","full_name":"devFancy/kotlin-springboot-multi-module","owner":"devFancy","description":"Kotlin 1.6.21 \u0026 Spring Boot 2.7.1 \u0026 Multi Module","archived":false,"fork":false,"pushed_at":"2024-12-26T11:02:39.000Z","size":279,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T20:31:53.587Z","etag":null,"topics":["kotlin","multi-module-project","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devFancy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/logging/src/build.gradle.kts","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-13T16:56:04.000Z","updated_at":"2024-12-26T12:32:41.000Z","dependencies_parsed_at":"2025-02-12T20:38:11.372Z","dependency_job_id":null,"html_url":"https://github.com/devFancy/kotlin-springboot-multi-module","commit_stats":null,"previous_names":["devfancy/kotlin-springboot-multi-module"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devFancy%2Fkotlin-springboot-multi-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devFancy%2Fkotlin-springboot-multi-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devFancy%2Fkotlin-springboot-multi-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devFancy%2Fkotlin-springboot-multi-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devFancy","download_url":"https://codeload.github.com/devFancy/kotlin-springboot-multi-module/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247493061,"owners_count":20947645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","multi-module-project","spring-boot"],"created_at":"2024-12-20T00:29:47.541Z","updated_at":"2025-04-06T14:23:24.026Z","avatar_url":"https://github.com/devFancy.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kotlin SpringBoot Multi Module\n\nThis project provides a foundational structure for a Kotlin Spring Boot multi-module setup. \n\nWhile it may not represent the most advanced architecture, it is a good starting point for projects where initial productivity is a priority.\n\nAs your software evolves and scales, the structure can and should adapt accordingly.\n\n![](./img/springboot-multi-module.png)\n\n# Project Information\n\nKotlin Version: 1.6.21\n\nSpring Boot Version: 2.7.1\n\nDatabase: H2 (example implementation)\n\nBuild Tool: Gradle\n\n# Module\n\n## Core-api\n\nThis is the only executable module in the project. \n\nHandles API-related logic, including Controller classes.\n\nOptimized for maximizing productivity during initial development stages.\n\n## domain\n\nManages domain models and business logic.\n\nProvides the core functionality of the application with a clear separation of concerns.\n\n## storage\n\nSubmodule: This module is responsible for database-related operations and integrations.\n\n### storage:db-core\n\nExample of integrating with an H2 database using Spring Data JPA.\n\nServes as a template for connecting to other database or storage systems.\n\n## Support\n\nSubmodule: This module contains auxiliary features such as logging and monitoring.\n\n### support:logging\n\nManages application logging.\n\nSupports integration with various logging frameworks.\n\n### support:monitoring\n\nProvides monitoring capabilities for services.\n\nEnsures observability and performance tracking.\n\n## Reference\n\n\u003e Here are the references and videos used when designing this project.\n\n* [Github: spring-boot-kotlin-template](https://github.com/team-dodn/spring-boot-kotlin-template)\n\n* [토스ㅣSLASH 22 - 지속 성장 가능한 코드를 만들어가는 방법](https://www.youtube.com/watch?v=RVO02Z1dLF8\u0026ab_channel=토스)\n\n* [지속 성장 가능한 소프트웨어를 만들어가는 방법](https://www.youtube.com/watch?v=pimYIfXCUe8\u0026ab_channel=제미니의개발실무)\n\n* [Youtube] SpringBoot + Kotlin 멀티 모듈 구성\n\n    * [SpringBoot + Kotlin 멀티 모듈 구성 - 단일모듈에서 멀티모듈로 변경해보기 #1](https://www.youtube.com/watch?v=PdofVTuM-tE)\n\n    * [SpringBoot + Kotlin 멀티 모듈 구성 - 의존성 버전 관리 + 로깅 모듈 추가하기 #2](https://www.youtube.com/watch?v=rE89ppAmf_Y)\n\n    * [SpringBoot + Kotlin 멀티 모듈 구성 - DB 모듈 추가하기 #3](https://www.youtube.com/watch?v=ODSFmLdecX0)\n\n    * [SpringBoot + Kotlin 멀티 모듈 구성 - 도메인 모듈 분리 #4](https://www.youtube.com/watch?v=p5ZMF2bpE6A)\n\n* [모듈 분리 시 의존 관계 설정](https://www.youtube.com/watch?v=nVGV8ag8v7g\u0026ab_channel=제미니의개발실무)\n\n---\n\nSpecial thanks to [geminiKim](https://github.com/geminiKim) for the original [spring-boot-kotlin-template](https://github.com/team-dodn/spring-boot-kotlin-template), which inspired the creation of this project.\n\nIf you'd like to check the latest versions of Kotlin, Spring Boot, or additional resources, I recommend visiting the spring-boot-kotlin-template repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevfancy%2Fkotlin-springboot-multi-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevfancy%2Fkotlin-springboot-multi-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevfancy%2Fkotlin-springboot-multi-module/lists"}