-
Notifications
You must be signed in to change notification settings - Fork 0
Project Structure
KIM ROKWON edited this page May 14, 2024
·
2 revisions
멀티 모듈 구조로 외부 시스템과의 느슨한 연결에 집중하여 패키지를 분리.
환경설정 정보는 git submodule로 pivate 레포지토리에서 따로 관리하고 build시 fetch하도록 설정.
├── adevspoon-api ### API 모듈 ###
│ ├── common # 전역적으로 사용되는 컴포넌트
│ ├── config # 전역적으로 적용되는 설정
│ └── <API 그룹>
│ ├── controller
│ ├── dto
│ └── service
│
├── adevspoon-common ### 공통 모듈 ### (exception, enum,dto)
├── adevspoon-domain ### 도메인 모듈 ###
│ ├── common # 도메인 전역적으로 사용되는 컴포넌트
│ ├── config # 도메인 전역적으로 적용되는 설정
│ └── <도메인>
│ ├── domain
│ ├── dto
│ ├── exception
│ ├── repository
│ └── service
│
└── adevspoon-infrastructure ### 외부 시스템 모듈 ###
├── common # 인프라 전역적으로 사용되는 컴포넌트
├── config # 인프라 전역적으로 적용되는 설정
└── <외부 시스템> # Oauth, Storage 등
├── dto
├── exception
├── service # interface와 구현체를 분리하여 외부 시스템의 변경에 유연하게 대응
└── # client, config, util 등 필요에따라 패키지 분리