Skip to content

개선(domain): #80 Draft DDD 마이그레이션 — MarketEngine BC#87

Merged
TransparentDeveloper merged 5 commits into
devfrom
feat/#80
May 3, 2026
Merged

개선(domain): #80 Draft DDD 마이그레이션 — MarketEngine BC#87
TransparentDeveloper merged 5 commits into
devfrom
feat/#80

Conversation

@TransparentDeveloper
Copy link
Copy Markdown
Collaborator

@TransparentDeveloper TransparentDeveloper commented May 1, 2026

변경 사항

Draft DDD 마이그레이션 (4계층)

  • domain/draft/ — Draft AggregateRoot, Pick Entity, errors, repository-interface
  • domain/services/draft-factory.ts — Template → Draft (buildPickOrder 포함)
  • application/draft-service.ts — create / pick / autoPick (pickId 외부 주입)
  • infrastructure/draft-api-repository.ts — apiGet/apiPost
  • presentation/draft-controller.ts — DTO 변환

Captain Entity 제거 + 모델 통합 (sandbox/auction 포함)

  • Captain Entity 삭제 → Character로 통합. Character가 "경매/드래프트에 등장하는 주체+객체" 모두 표현
  • 신규 Role VO ('CAPTAIN' | 'PLAYER') — Character.role로 식별
  • Category VO 제거 — 도메인 로직에서 미사용. plan.md 등급(S+~D)은 향후 필요 시 재도입
  • captains: Character[], Pick.captainId: CharacterId, Bid.captainId: CharacterId로 통일
  • Auction / SandboxBoard / Draft 세 aggregate 모두 동일 형식

미완료 (TODO)

  • features/draft/ UI를 신규 구조로 전환 (별도 PR)
  • 기존 domain/rule-engine/draft.ts 제거 (UI 전환 완료 후)
  • 멀티플레이 실시간 동기화 Repository 구현 (Supabase Realtime, 별도 PR)
  • plan.md 등급(category) 도입이 필요해지면 재추가

테스트

  • bun test 전체 — 183 pass / 0 fail
  • 신규 파일 prettier 통과

Closes #80

@TransparentDeveloper TransparentDeveloper force-pushed the feat/#80 branch 2 times, most recently from d8ab547 to db573c0 Compare May 1, 2026 10:15
Role VO 도입 (CAPTAIN/PLAYER), captains: Character[]로 통일.
Auction/SandboxBoard 두 aggregate 일관 적용. Category VO 제거.
Draft AggregateRoot, Pick Entity, draft-factory/service/controller,
draft-api-repository 추가. Auction/SandboxBoard 4계층 패턴 동일 적용.
shared/character.ts에 CaptainId = CharacterId 별칭 도입.
presentation/character-dto.ts로 세 controller의 DTO 통합.
Draft에 rosters 필드 추가 (Auction/SandboxBoard와 동일).
DraftError에 DRAFT_ALREADY_COMPLETED 추가, SandboxBoardError dead code 제거.
buildPickOrder export 제거.
Captain Entity 부재와 정합 맞춤. captainId 변수명은 의미 유지.
@TransparentDeveloper TransparentDeveloper merged commit 6436ca0 into dev May 3, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

개선(domain): Draft DDD 마이그레이션 — MarketEngine BC

1 participant