6.0 KiB
6.0 KiB
내 채널 팔로워 목록 연결 PRD
문서 정보
| 항목 | 내용 |
|---|---|
| 문서 상태 | 구현 완료 |
| 작성일 | 2026-08-03 |
| 최종 수정일 | 2026-08-03 |
| 대상 제품 | v2 크리에이터 채널 내 채널 팔로워 목록 연결 |
| 작성자·결정권자 | 사용자, Sisyphus |
| 관련 API Contract | 기존 레거시 UserFollowerListActivity / ExplorerApi.getFollowerList 재사용 |
| 관련 구현 계획 | docs/20260803_내_채널_팔로워_목록_연결/plan-task.md |
| 관련 review | docs/20260803_내_채널_팔로워_목록_연결/reviews/phase1-follower-list-link-review.md |
1. Overview
내 채널 소유자는 v2 크리에이터 채널 상단의 팔로워 n명 영역을 눌러 자신을 팔로우하는 사용자 목록을 확인할 수 있어야 한다. 신규 v2 화면을 만들지 않고 기존 레거시 UserFollowerListActivity를 그대로 연결한다.
2. Problem Statement
현재 v2 크리에이터 채널은 팔로워 n명을 표시하지만 클릭 동작이 없다. 사용자는 내 채널을 팔로우하는 사용자 목록으로 이동하려면 레거시 프로필 경로를 우회해야 한다.
문제를 해결했다는 판단은 내 채널에서 팔로워 n명을 터치했을 때 Constants.EXTRA_USER_ID에 현재 creatorId가 담긴 UserFollowerListActivity가 실행되는 것으로 한다.
3. Goals
3.1 제품 목표
- 내 채널 소유자는 채널 상단
팔로워 n명에서 팔로워 목록 화면으로 이동할 수 있다. - 기존 레거시 팔로워 목록 화면과 API 계약을 재사용한다.
- 타인 채널에서는 이번 연결을 노출하지 않는다.
3.2 UX 목표
- 기존 문구, 배치, 수치 표시를 변경하지 않는다.
- 팔로워 수가 0명이어도 같은 목록 화면으로 진입한다.
- 별도 안내, 다이얼로그, 신규 화면을 추가하지 않는다.
4. Non-Goals
FollowingCreatorActivity연결은 구현하지 않는다. 이 화면은 현재 사용자가 팔로잉한 크리에이터 목록이다.- 신규 v2 팔로워 목록 화면을 만들지 않는다.
- 레거시
UserFollowerListActivity, 레거시 API, 레거시 레이아웃은 수정하지 않는다. 팔로워 n명문구를팔로잉 n명으로 변경하지 않는다.- 타인 채널의 팔로워 수 클릭 동작은 추가하지 않는다.
5. Target Users and Permissions
| 사용자 | 목표 | 주요 작업 | 사용 환경 |
|---|---|---|---|
| 내 채널 소유자 | 내 채널을 팔로우하는 사용자 확인 | 팔로워 n명 터치 후 목록 조회 |
Android 앱 |
권한 기준은 기존 CreatorChannelActivity 진입의 로그인 가드와 UserFollowerListActivity의 기존 API 인증을 따른다.
6. 핵심 사용자 흐름
- 사용자가 본인 크리에이터 채널에 진입한다.
- 채널 상단 헤더의
팔로워 n명을 터치한다. - 앱은 기존
UserFollowerListActivity를 실행하며Constants.EXTRA_USER_ID에 현재creatorId를 전달한다. - 레거시 화면이 기존 방식대로 팔로워 목록을 조회하고 표시한다.
7. 정보 구조와 라우팅
CreatorChannelActivity
tvFollowerCount click
-> UserFollowerListActivity
extra: Constants.EXTRA_USER_ID = creatorId
8. 기능 요구사항
| ID | 상태 | 요구사항 | 수용 기준 | 계약/Goal 연결 |
|---|---|---|---|---|
FOLLOWER-LINK-001 |
확정 | 내 채널 소유자가 팔로워 n명을 누르면 레거시 팔로워 목록으로 이동한다. |
UserFollowerListActivity Intent가 생성되고 Constants.EXTRA_USER_ID에 현재 creatorId가 전달된다. |
P1-T1 |
FOLLOWER-LINK-002 |
확정 | 타인 채널에서는 이번 클릭 연결이 동작하지 않는다. | currentHeader.isOwner != true이면 목록 Activity를 시작하지 않는다. |
P1-T1 |
FOLLOWER-LINK-003 |
확정 | 팔로워 수 0명도 동일하게 목록 화면으로 진입한다. | 클릭 조건에 followerCount > 0 제한이 없다. |
P1-T1 |
9. UI/UX Expectations
- 기존
tv_follower_count표시를 그대로 사용한다. - 레이아웃, 색상, 문구, 접근성 리소스는 변경하지 않는다.
- 클릭 가능성 외 시각적 embellishment는 추가하지 않는다.
10. API 계약
신규 API 계약은 없다. UserFollowerListActivity가 기존 ExplorerApi.getFollowerList(userId, page, size, Authorization) 흐름을 재사용한다.
11. 보안과 데이터 취급
- 전달 값은 기존 내부 식별자
creatorId뿐이다. - 토큰, API URL, 민감정보를 로그나 Toast에 추가로 노출하지 않는다.
12. 성공 기준
CreatorChannelActivitySourceTest가 클릭 연결, owner 제한, extra 전달 계약을 검증한다.- focused unit test가 RED 후 GREEN으로 통과한다.
:app:assembleDebug가 성공한다.- 실제 Android 표면 검증 또는 실행 환경 부재 사유가 계획 문서에 기록된다.
13. Open Questions
| ID | 상태 | 결정 필요 사항 | 현재 권고 | 결정 주체 | 결정 기한/시점 | 영향 Goal |
|---|---|---|---|---|---|---|
| 없음 | 확정 | 추가 결정 없음 | 권장 설계 승인됨 | 사용자 | 완료 | P1-T1 |
14. 요구사항 추적표
| 요구사항 범위 | API Contract | 계획 Phase | Goal | 자동 검증 | 수동 검증 |
|---|---|---|---|---|---|
FOLLOWER-LINK-001~003 |
기존 레거시 API 재사용 | 1 | P1-T1, P1-GATE |
CreatorChannelActivitySourceTest |
내 채널 팔로워 n명 터치 |
15. Decision Log
| 날짜 | ID | 상태 | 결정 | 근거 | 영향 요구사항·계약·Goal |
|---|---|---|---|---|---|
2026-08-03 |
DEC-001 |
확정 | FollowingCreatorActivity가 아닌 UserFollowerListActivity로 연결한다. |
전자는 내가 팔로잉한 크리에이터 목록이고, 후자는 채널 팔로워 목록이다. | FOLLOWER-LINK-001, P1-T1 |
2026-08-03 |
DEC-002 |
확정 | v2 신규 화면을 만들지 않고 레거시 화면을 재사용한다. | 사용자 명시 요청. | FOLLOWER-LINK-001, P1-T1 |