docs(creator): 채널 홈 구현 기록을 갱신한다

This commit is contained in:
Yu Sung
2026-07-01 20:14:17 +09:00
parent 29f7f3c26c
commit cc14353fa4

View File

@@ -78,7 +78,7 @@
### Phase 1: API와 상태 모델 ### Phase 1: API와 상태 모델
- [ ] **Task 1.1: 크리에이터 채널 홈 Response model 생성** - [x] **Task 1.1: 크리에이터 채널 홈 Response model 생성**
- 대상 파일: - 대상 파일:
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeResponse.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeResponse.swift`
- 확인: `SodaLive/Sources/V2/Main/Home/Following/Models/HomeFollowingTabResponse.swift` - 확인: `SodaLive/Sources/V2/Main/Home/Following/Models/HomeFollowingTabResponse.swift`
@@ -92,7 +92,7 @@
- 실행 명령: `rg "struct CreatorChannelHomeResponse|struct CreatorChannelCreatorResponse|struct CreatorChannelLiveResponse|struct CreatorChannelAudioContentResponse|struct CreatorChannelDonationResponse|struct CreatorChannelScheduleResponse|struct CreatorChannelSeriesResponse|struct CreatorChannelCommunityPostResponse|struct CreatorChannelFanTalkSummaryResponse|struct CreatorChannelActivityResponse|struct CreatorChannelSnsResponse" SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeResponse.swift` - 실행 명령: `rg "struct CreatorChannelHomeResponse|struct CreatorChannelCreatorResponse|struct CreatorChannelLiveResponse|struct CreatorChannelAudioContentResponse|struct CreatorChannelDonationResponse|struct CreatorChannelScheduleResponse|struct CreatorChannelSeriesResponse|struct CreatorChannelCommunityPostResponse|struct CreatorChannelFanTalkSummaryResponse|struct CreatorChannelActivityResponse|struct CreatorChannelSnsResponse" SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeResponse.swift`
- 기대 결과: PRD의 응답 모델이 Swift 파일에 모두 존재하고 id/count 타입이 `Int`이다. - 기대 결과: PRD의 응답 모델이 Swift 파일에 모두 존재하고 id/count 타입이 `Int`이다.
- [ ] **Task 1.2: 홈 tab enum 생성** - [x] **Task 1.2: 홈 tab enum 생성**
- 대상 파일: - 대상 파일:
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeTab.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeTab.swift`
- 작업 내용: - 작업 내용:
@@ -104,7 +104,7 @@
- 실행 명령: `rg "enum CreatorChannelHomeTab|case home|case live|case audio|case series|case community|case fanTalk|case donation|화보|photo" SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeTab.swift` - 실행 명령: `rg "enum CreatorChannelHomeTab|case home|case live|case audio|case series|case community|case fanTalk|case donation|화보|photo" SodaLive/Sources/V2/CreatorChannel/Home/Models/CreatorChannelHomeTab.swift`
- 기대 결과: 7개 tab case가 있고 `화보`/`photo` case가 없다. - 기대 결과: 7개 tab case가 있고 `화보`/`photo` case가 없다.
- [ ] **Task 1.3: API endpoint 생성** - [x] **Task 1.3: API endpoint 생성**
- 대상 파일: - 대상 파일:
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeApi.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeApi.swift`
- 확인: `SodaLive/Sources/V2/Main/Home/Ranking/Repository/MainHomeRankingApi.swift` - 확인: `SodaLive/Sources/V2/Main/Home/Ranking/Repository/MainHomeRankingApi.swift`
@@ -118,7 +118,7 @@
- 실행 명령: `rg "enum CreatorChannelHomeApi|getHome\\(creatorId: Int\\)|/api/v2/creator-channels/|/home|TargetType|requestPlain|Authorization" SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeApi.swift` - 실행 명령: `rg "enum CreatorChannelHomeApi|getHome\\(creatorId: Int\\)|/api/v2/creator-channels/|/home|TargetType|requestPlain|Authorization" SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeApi.swift`
- 기대 결과: 신규 endpoint와 인증 헤더가 확인된다. - 기대 결과: 신규 endpoint와 인증 헤더가 확인된다.
- [ ] **Task 1.4: Repository 생성** - [x] **Task 1.4: Repository 생성**
- 대상 파일: - 대상 파일:
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeRepository.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeRepository.swift`
- 확인: `SodaLive/Sources/V2/Main/Home/Ranking/Repository/MainHomeRankingRepository.swift` - 확인: `SodaLive/Sources/V2/Main/Home/Ranking/Repository/MainHomeRankingRepository.swift`
@@ -129,7 +129,7 @@
- 실행 명령: `rg "final class CreatorChannelHomeRepository|MoyaProvider<CreatorChannelHomeApi>|getHome\\(creatorId: Int\\)|AnyPublisher<Response, MoyaError>" SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeRepository.swift` - 실행 명령: `rg "final class CreatorChannelHomeRepository|MoyaProvider<CreatorChannelHomeApi>|getHome\\(creatorId: Int\\)|AnyPublisher<Response, MoyaError>" SodaLive/Sources/V2/CreatorChannel/Home/Repository/CreatorChannelHomeRepository.swift`
- 기대 결과: 기존 V2 Repository와 같은 형태가 확인된다. - 기대 결과: 기존 V2 Repository와 같은 형태가 확인된다.
- [ ] **Task 1.5: ViewModel 생성 및 API 실패 placeholder 상태 정의** - [x] **Task 1.5: ViewModel 생성 및 API 실패 placeholder 상태 정의**
- 대상 파일: - 대상 파일:
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeViewModel.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeViewModel.swift`
- 확인: `SodaLive/Sources/V2/Main/Home/Ranking/MainHomeRankingViewModel.swift` - 확인: `SodaLive/Sources/V2/Main/Home/Ranking/MainHomeRankingViewModel.swift`
@@ -149,7 +149,7 @@
### Phase 2: 라우팅과 기본 화면 shell ### Phase 2: 라우팅과 기본 화면 shell
- [ ] **Task 2.1: 기존 creatorDetail 라우팅을 신규 홈으로 연결** - [x] **Task 2.1: 기존 creatorDetail 라우팅을 신규 홈으로 연결**
- 대상 파일: - 대상 파일:
- 수정: `SodaLive/Sources/ContentView.swift` - 수정: `SodaLive/Sources/ContentView.swift`
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift`
@@ -163,7 +163,7 @@
- 실행 명령: `rg "case \\.creatorDetail|CreatorChannelHomeView\\(creatorId: userId\\)|UserProfileView\\(userId:" SodaLive/Sources/ContentView.swift SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift` - 실행 명령: `rg "case \\.creatorDetail|CreatorChannelHomeView\\(creatorId: userId\\)|UserProfileView\\(userId:" SodaLive/Sources/ContentView.swift SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift`
- 기대 결과: `.creatorDetail`이 신규 `CreatorChannelHomeView`로 연결되고 기존 `UserProfileView` 파일은 유지된다. - 기대 결과: `.creatorDetail`이 신규 `CreatorChannelHomeView`로 연결되고 기존 `UserProfileView` 파일은 유지된다.
- [ ] **Task 2.2: 기본 shell과 로딩/API 실패 placeholder 구성** - [x] **Task 2.2: 기본 shell과 로딩/API 실패 placeholder 구성**
- 대상 파일: - 대상 파일:
- 수정: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift` - 수정: `SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift`
- 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelPlaceholderTabView.swift` - 생성: `SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelPlaceholderTabView.swift`
@@ -178,7 +178,7 @@
- 실행 명령: `rg "@StateObject private var viewModel|fetchHome\\(creatorId: creatorId\\)|isApiFailedPlaceholderVisible|CreatorChannelPlaceholderTabView|LoadingView|Color.black" SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelPlaceholderTabView.swift` - 실행 명령: `rg "@StateObject private var viewModel|fetchHome\\(creatorId: creatorId\\)|isApiFailedPlaceholderVisible|CreatorChannelPlaceholderTabView|LoadingView|Color.black" SodaLive/Sources/V2/CreatorChannel/Home/CreatorChannelHomeView.swift SodaLive/Sources/V2/CreatorChannel/Home/Components/CreatorChannelPlaceholderTabView.swift`
- 기대 결과: API 호출, 실패 placeholder, 홈 외 tab placeholder shell이 확인된다. - 기대 결과: API 호출, 실패 placeholder, 홈 외 tab placeholder shell이 확인된다.
- [ ] **Task 2.3: I18n 문구 추가** - [x] **Task 2.3: I18n 문구 추가**
- 대상 파일: - 대상 파일:
- 수정: `SodaLive/Sources/I18n/I18n.swift` - 수정: `SodaLive/Sources/I18n/I18n.swift`
- 작업 내용: - 작업 내용:
@@ -550,3 +550,4 @@
- 2026-07-01: 기존 V2 홈 API/Repository/ViewModel, AI 채팅 guard, follow/unfollow API, SNS asset 사용처를 확인해 대상 파일과 검증 기준에 반영했다. - 2026-07-01: 기존 V2 홈 API/Repository/ViewModel, AI 채팅 guard, follow/unfollow API, SNS asset 사용처를 확인해 대상 파일과 검증 기준에 반영했다.
- 2026-07-01: 사용자 요청에 따라 기존 Phase 4 `대화하기 액션 영역`을 Phase 17로 이동하고, 기존 Phase 5~17을 Phase 4~16으로 한 칸씩 당겼다. - 2026-07-01: 사용자 요청에 따라 기존 Phase 4 `대화하기 액션 영역`을 Phase 17로 이동하고, 기존 Phase 5~17을 Phase 4~16으로 한 칸씩 당겼다.
- 2026-07-01: Header, TitleBar, TabBar만으로 sticky 동작을 먼저 확인할 수 있도록 Phase 3에 `CreatorChannelHomeView_Previews` 기반 debug-only sticky scaffold 검증 task를 추가했다. - 2026-07-01: Header, TitleBar, TabBar만으로 sticky 동작을 먼저 확인할 수 있도록 Phase 3에 `CreatorChannelHomeView_Previews` 기반 debug-only sticky scaffold 검증 task를 추가했다.
- 2026-07-01: Phase 1~2 구현을 완료하고 `rg` 체크리스트 및 `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build` 성공으로 신규 API/상태 모델, 라우팅, 기본 shell, I18n, 프로젝트 파일 포함을 검증했다.