Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 3.94 KB

README.md

File metadata and controls

50 lines (40 loc) · 3.94 KB

image 해당 프로젝트는 SOPT 32th APPJAM 프로젝트의 kotlin + Spring Boot 적용 및 Architecutre 설계 프로젝트 입니다.

TOC

1.Project Info
2.Project Service Info




Project Info

image 해당 프로젝트의 각 모듈은 CleanArchitecture 의 규칙을 이용합니다.

module-infrastructure

Clean Architecture 의 Interface Adapters 영역으로 실제 Web, UI, DB, ExternalInterface 와 연결되는 부분으로 설계하였습니다.
Framework 혹은 UI 와 같은 외부적인 요인을 내부 UseCase 에서 사용하는 모델로 변경하거나 혹은 그 반대의 어뎁터 역할로 설계하였습니다.

module-usecase

Clean Architecture 의 UseCase 영역과 동일한 역할을 수행하도록 설계하였습니다.
비즈니스 시나리오와 같은 수단을 구현하고 이를 수행하는 역할로 설계하였습니다.

module-domain

Clean Architecture 의 Entities 영역과 동일한 역할을 수행하도록 설계하였습니다.
도메인에 해당하는 로직을 구현하도록 설계하였습니다.
Kotlin 이외 의존성을 추가하지 않는 것을 목표로 설계하였습니다.

의존 방향

infrastructure -> usecase -> domain 의 방향으로 의존할 수 있도록 설계하였습니다.
내부에 존재하는 모듈은 외부의 의존하지 않으며 외부의 요청에 따라 동작할 수 있도록 DIP 를 적용하여 interface로 명시한 기능만을 수행할 수 있도록 구성하였습니다.
각 모듈의 변경이 다른 모듈의 변경을 최소화하고 테스트하기 용이하게 만들어 다양한 테스트 코드를 작성하기 위해 이와 같이 구성하게 되었습니다.

Project Service Info

Java Spring Boot Lombok Groovy MySQL AWS Git GitHub InteliJ Postman Figma

image