feat(main-home): 추천 홈 데이터 계층을 추가한다

This commit is contained in:
Yu Sung
2026-06-02 14:56:02 +09:00
parent 606db35de8
commit 016a8bcca3
8 changed files with 293 additions and 4 deletions

View File

@@ -78,7 +78,7 @@
### Phase 1: 구현 기준과 데이터 계층 준비
- [ ] **Task 1.1: 구현 전 구조 확인**
- [x] **Task 1.1: 구현 전 구조 확인**
- 대상 파일:
- 확인: `SodaLive/Sources/V2/Main/MainView.swift`
- 확인: `SodaLive/Sources/V2/Component/SectionTitle.swift`
@@ -97,7 +97,7 @@
- 기대 결과: `.home` placeholder 위치, 기존 `HomeApi`, `I18n` 구조를 확인할 수 있다.
- 수동 확인: 신규 추천 API를 기존 `HomeApi.swift`에 추가하지 않아야 한다.
- [ ] **Task 1.2: 추천 API 모델 작성**
- [x] **Task 1.2: 추천 API 모델 작성**
- 대상 파일:
- 생성: `SodaLive/Sources/V2/Main/Home/Models/MainHomeRecommendationResponse.swift`
- 생성: `SodaLive/Sources/V2/Main/Home/Models/FollowRecommendedCreatorsRequest.swift`
@@ -113,7 +113,7 @@
- 기대 결과: 세 모델/enum 정의가 검색된다.
- 수동 확인: PRD의 응답 필드명이 Swift 모델에 누락 없이 반영되어야 한다.
- [ ] **Task 1.3: I18n 문구 추가**
- [x] **Task 1.3: I18n 문구 추가**
- 대상 파일:
- 수정: `SodaLive/Sources/I18n/I18n.swift`
- 작업 내용:
@@ -141,7 +141,7 @@
- 기대 결과: 홈 추천 I18n enum과 핵심 문구가 검색된다.
- 수동 확인: 신규 사용자 노출 문자열이 하드코딩 View 텍스트로 흩어지지 않아야 한다.
- [ ] **Task 1.4: 신규 API와 Repository 작성**
- [x] **Task 1.4: 신규 API와 Repository 작성**
- 대상 파일:
- 생성: `SodaLive/Sources/V2/Main/Home/Repository/MainHomeApi.swift`
- 생성: `SodaLive/Sources/V2/Main/Home/Repository/MainHomeRepository.swift`
@@ -389,3 +389,26 @@
- Swift 코드 구현
- Xcode 프로젝트 포함 여부 확인
- 빌드/기능 검증
### 2026-06-02 Phase 1 구현 완료
- 목적: Phase 1 범위인 구현 전 구조 확인, 추천 API 모델, I18n 문구, 신규 API/Repository 작성
- 수행 내용:
- `SodaLive/Sources/V2/Main/MainView.swift``.home` placeholder 유지 상태와 기존 `HomeApi`, `HomeTabRepository`, `I18n` 구조 확인
- `SodaLive/Sources/V2/Main/Home/Models``HomeRecommendationResponse`, `FollowRecommendedCreatorsRequest`, `RecommendedActivityType` 추가
- `SodaLive/Sources/I18n/I18n.swift``I18n.HomeRecommendation` 문구 추가
- `SodaLive/Sources/V2/Main/Home/Repository``MainHomeApi`, `MainHomeRepository` 추가
- 신규 Swift 파일 5개를 `SodaLive.xcodeproj/project.pbxproj``SodaLive`, `SodaLive-dev` Sources에 포함
- 검증:
- `rg "case \.home|MainPlaceholderTabView|enum HomeApi|enum I18n" SodaLive/Sources/V2/Main SodaLive/Sources/Home SodaLive/Sources/I18n/I18n.swift` 실행, `.home` placeholder와 기존 `HomeApi`, `I18n` 구조 확인
- `rg "struct HomeRecommendationResponse|struct FollowRecommendedCreatorsRequest|enum RecommendedActivityType" SodaLive/Sources/V2/Main/Home/Models` 실행, 모델 정의 검색 확인
- `rg "enum HomeRecommendation|activityLive|followAllCompleted|collapse" SodaLive/Sources/I18n/I18n.swift` 실행, 신규 I18n 문구 검색 확인
- `rg "/api/v2/home/recommendations|followRecommendedCreators|getRecommendations" SodaLive/Sources/V2/Main/Home/Repository` 실행, 신규 API 경로와 repository 메서드 검색 확인
- `rg "/api/v2/home/recommendations" SodaLive/Sources/Home` 실행, 검색 결과 없음 확인
- `plutil -lint SodaLive.xcodeproj/project.pbxproj` 실행, `OK` 확인
- `git diff --check` 실행, 출력 없이 성공 확인
- `xcodebuild -workspace "SodaLive.xcworkspace" -list` 실행, 별도 테스트 타깃 없음 확인
- `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build` 실행, `BUILD SUCCEEDED` 확인
- 아직 수행하지 않은 작업:
- Phase 2 이후 ViewModel, UI 컴포넌트, 홈 탭 연결
- 테스트 타깃이 없어 Phase 1 전용 RED/GREEN 단위 테스트는 추가하지 않음