Skip to content

refactor: 큐레이션 v2 위스키 폼 스펙 드리븐 리팩터링 및 모듈 구조 정리#85

Merged
hyejj19 merged 5 commits into
mainfrom
feature/comment-curation-nav-v2
Jul 7, 2026
Merged

refactor: 큐레이션 v2 위스키 폼 스펙 드리븐 리팩터링 및 모듈 구조 정리#85
hyejj19 merged 5 commits into
mainfrom
feature/comment-curation-nav-v2

Conversation

@hyejj19

@hyejj19 hyejj19 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

PR 제목 (Title)

  • 큐레이션 v2 위스키 폼(시음회·추천·페어링) 스펙 드리븐 리팩터링 및 모듈 구조 정리

변경 사항 (Changes)

  • 체크리스트
    • 큐레이션 v2 위스키 모듈을 타입별(whisky-tasting-event, whisky-curation) 디렉토리로 재편하고, 각 타입을 Gate(조회/로딩/에러 상태) + Form + PreviewPanel 구조로 분리 (구 whisky-card/tasting-event create 페이지 및 스키마 제거)
    • 추천/페어링 requestSpec의 서버 계약(x-container/x-field-style/x-display-name)을 단일 파서가 직접 읽도록 변경하고, model 합성 레이어(가짜 wrapper 스키마 + FE 발명값 주입) 제거
    • 시음회/추천/페어링이 각각 복제하던 alcohol-card-list 빌더를 공통 createAlcoholCardListFieldModel 하나로 병합
    • WhiskyCurationFormModel을 스펙 파생 필드(cardList, pairings)로 다이어트하고, 렌더러의 하드코딩 라벨(코멘트 aria/placeholder, 아이템 헤딩)을 field model에서 파생
    • 추천/페어링 4개 페이지를 WhiskyCurationCreatePage/WhiskyCurationEditPage 2개로 통합(presentation prop 제거, 폼이 스펙으로 판별), 상세 payload 배열 라벨을 스펙 기반으로 렌더

변경 이유 (Reason for Changes)

  • 기존에는 파서가 서버 스펙을 제대로 못 읽어 model 레이어에서 "스펙을 읽은 척하는 가짜 스키마"를 합성했고, 그 결과 같은 UI인데도 라벨 매핑이 타입마다 어긋나고(예: 추천 코멘트가 화면엔 "기대평"으로 표시) 같은 데이터의 중복 프로젝션으로 복잡도가 높았습니다.
  • 서버 계약을 단일 파서가 직접 읽게 만들어 합성 레이어를 제거하면 복잡도가 낮아지고, 서버가 동일 계약으로 새 큐레이션 타입을 내려도 파서·field model·렌더러를 그대로 재사용할 수 있습니다.

테스트 방법 (Test Procedure)

  • pnpm test:run — 전체 유닛/훅/컴포넌트 테스트 265개 통과 (큐레이션 스위트 48개 포함)
  • tsc -b 타입체크, eslint 린트 통과
  • 로컬에서 추천/페어링/시음회 작성·수정 화면 진입 → 위스키 카드 추가, 태그/코멘트/페어링 입력 후 생성·수정 payload 확인

참고 사항 (Additional Information)

  • stats 배지 라벨("유저평가" 등)은 responseSpec이 현재 비어 있고 구조가 미확정이라 이번 범위에서는 하드코딩을 유지했습니다(ponytail: 주석으로 전환 경로 표기). responseSpec 구조 확정 후 별도 PR에서 스펙 드리븐으로 전환 예정입니다.
  • Draft PR입니다.

🤖 Generated with Claude Code

hyejj19 and others added 3 commits July 6, 2026 00:09
추천/페어링 큐레이션의 model 합성 레이어를 제거하고 서버 계약
(x-container/x-field-style/x-display-name)을 직접 읽도록 변경.
중복 alcohol-card-list 빌더를 공통 빌더 하나로 병합하고,
WhiskyCurationFormModel을 스펙 파생 필드로 다이어트,
렌더러 라벨을 field model에서 파생, 추천/페어링 4개 페이지를
create/edit 2개로 통합.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hyejj19 hyejj19 marked this pull request as ready for review July 7, 2026 23:59
@hyejj19 hyejj19 merged commit 56f5c36 into main Jul 7, 2026
2 checks passed
@hyejj19 hyejj19 deleted the feature/comment-curation-nav-v2 branch July 7, 2026 23:59
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.

1 participant