Skip to content
Ok JaeOok edited this page Jul 1, 2024 · 2 revisions

구성

infra

ERD

erd

프로젝트 구조

디렉터리

헥사고날 아키텍처를 참고하여 멀티모듈 프로젝트를 구성

:app/
├── src/
│   └── App.java
└── resources/
    ├── static.assets
    ├── db.migration
    └── templates
:domain/
├── base
├── common
├── community
├── dictionary
└── member
:infrastructure/
├── :external/
│   ├── cache
│   ├── database
│   ├── extract
│   ├── scheduler
│   ├── search
│   ├── storage
│   └── ui 
└── :internal/
    ├── handler
    ├── persistence
    ├── security
    └── ui
:usecase/
├── port
└── request

DTO

CQS 패턴을 적용하여 Command와 Query를 분리

@Validated
@PrimaryPort
public interface MemberCommand {

    boolean addMember(@Valid AddMember command);

    boolean updateMember(@Valid UpdateMember command);

    boolean removeMember(@Valid RemoveMember command);
}
@Validated
@PrimaryPort
public interface MemberQuery {
    
    @Validated(GetMemberValid.class)
    @Valid Member getMember(@Valid GetMember query);
}

컨벤션

  • Palantir 코드 스타일 강제 + Sonarlint 준수
  • 깃 브랜치 전략 밋 커밋 컨벤션 X
Clone this wiki locally