Skip to content

[Feature/#199] : 앰플리튜드 태그 추가#200

Merged
sohyun127 merged 1 commit into
developfrom
#199-amplitude-tag
Oct 30, 2025
Merged

[Feature/#199] : 앰플리튜드 태그 추가#200
sohyun127 merged 1 commit into
developfrom
#199-amplitude-tag

Conversation

@sohyun127
Copy link
Copy Markdown
Collaborator

@sohyun127 sohyun127 commented Oct 30, 2025

✅ 𝗖𝗵𝗲𝗰𝗸-𝗟𝗶𝘀𝘁

  • merge할 브랜치의 위치를 확인해 주세요(main❌/develop⭕)
  • 리뷰가 필요한 경우 리뷰어를 지정해 주세요
  • P1 단계의 리뷰는 필수로 반영합니다.
  • Approve된 PR은 assigner가 머지하고, 수정 요청이 온 경우 수정 후 다시 push를 합니다.

📌 𝗜𝘀𝘀𝘂𝗲𝘀

📎𝗪𝗼𝗿𝗸 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻

  • 태그 추가

📷 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁

image

💬 𝗧𝗼 𝗥𝗲𝘃𝗶𝗲𝘄𝗲𝗿𝘀

Summary by CodeRabbit

릴리스 노트

  • Chores
    • 뉴스, 퀴즈, 커뮤니티 등 주요 기능에서 사용자 상호작용 분석 추적을 강화했습니다.

@sohyun127 sohyun127 added ⭐ [FEAT] 새로운 기능 구현 🐱 소현 리나 labels Oct 30, 2025
@sohyun127 sohyun127 requested a review from chanubc October 30, 2025 00:58
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Oct 30, 2025

개요

Amplitude 분석 추적 태그 상수를 추가하고 뉴스, 퀴즈, 커뮤니티 기능의 여러 사용자 상호작용 지점에 분석 이벤트 추적 호출을 통합했습니다.

변경 사항

내용군 / 파일 변경 요약
Amplitude 태그 정의
core/common/src/main/java/com/teamwable/common/util/AmplitudeTag.kt
AmplitudeNewsTag에 CLICK_CURATION, CLICK_CONTENT_CURATION 상수 추가. 새로운 AmplitudeQuizTag 객체 생성 (CLICK_QUIZ_BOTNAVI, CLICK_QUIZ_SUBMIT, CLICK_GET_XP). 새로운 AmplitudeCommunityTag 객체 생성 (CLICK_COMMUNITY_BOTNAVI)
메인 화면 네비게이션 추적
feature/main/src/main/java/com/teamwable/main/MainActivity.kt
커뮤니티 및 퀴즈 목적지 변경 감지 시 추적 호출 추가. 목적지 변경 및 항목 선택 이벤트에 대해 CLICK_COMMUNITY_BOTNAVI, CLICK_QUIZ_BOTNAVI 이벤트 발송
뉴스 기능 추적
feature/news/src/main/java/com/teamwable/news/NewsFragment.kt
CURATION 탭 클릭 핸들러에서 CLICK_NEWS 추적을 CLICK_CURATION으로 변경
뉴스 큐레이션 콘텐츠 추적
feature/news/src/main/java/com/teamwable/news/curation/NewsCurationRoute.kt
콘텐츠 항목 클릭 시 CLICK_CONTENT_CURATION 이벤트 추적 호출 추가
퀴즈 기능 추적
feature/quiz/src/main/java/com/teamwable/quiz/result/QuizResultScreen.kt
XP 버튼 클릭 시 CLICK_GET_XP 이벤트 추적 호출 추가
feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartScreen.kt

예상 코드 리뷰 소요 시간

🎯 2 (Simple) | ⏱️ ~12분

  • 주목할 사항:
    • 모든 변경이 동일한 패턴의 추적 호출 추가 (반복적인 구조)
    • 기존 로직 수정 없이 사이드 이펙트만 추가
    • 새로운 상수 정의의 명명 규칙 일관성 확인

🐰 태그를 모아 모아, 사용자 발자국을
정성스레 기록하는 우리의 여정.
뉴스에서 퀴즈, 커뮤니티까지,
클릭 하나하나가 빛나도록 ✨
데이터의 정원에 꽃 피웁니다!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Linked Issues Check ❓ Inconclusive 연결된 이슈 #199는 "[FEAT] : 앰플리튜드 태그"로 제목이 지정되어 있으나, 구체적인 기술 요구사항이나 작업 체크리스트가 정의되지 않아 있습니다. PR의 코드 변경사항은 AmplitudeTag.kt에 새로운 태그 상수를 추가하고, MainActivity, NewsFragment, NewsCurationRoute, QuizResultScreen, QuizStartScreen에서 해당 태그를 사용한 추적 로직을 구현하고 있으며, 이는 "앰플리튜드 태그 추가"라는 일반적인 목표에 부합합니다. 그러나 이슈에 명시된 구체적인 요구사항이 없어 완전한 준수 여부를 확인하기 어렵습니다.
✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed PR 제목 "[Feature/#199] : 앰플리튜드 태그 추가"는 변경사항의 핵심 내용을 명확하게 반영하고 있습니다. 코드 변경사항은 AmplitudeTag.kt에 새로운 태그 상수들을 추가하고, 여러 화면 컴포넌트에서 이 태그들을 사용한 추적 호출을 구현하는 내용으로 구성되어 있으며, 제목은 이러한 변경의 본질을 정확하게 요약하고 있습니다. 제목은 간결하고 구체적이며 개발자 관점에서 가장 중요한 변경을 강조하고 있습니다.
Out of Scope Changes Check ✅ Passed 코드 변경사항은 모두 앰플리튜드 태그 추가라는 목표와 관련이 있습니다. AmplitudeTag.kt에 새로운 상수들이 추가되었고, 여러 화면 컴포넌트(MainActivity, NewsFragment, NewsCurationRoute, QuizResultScreen, QuizStartScreen)에서 이 태그들을 사용한 추적 호출이 구현되었습니다. 모든 변경사항은 앰플리튜드 분석 태그 추가 기능 구현과 직접적인 관련이 있으며, 범위 밖의 변경사항은 감지되지 않습니다.
Description Check ✅ Passed PR 설명은 저장소의 필수 템플릿 구조를 따르고 있으며, 체크리스트, 이슈 링크(#199), 작업 설명(태그 추가), 스크린샷, 리뷰어 메모 섹션이 모두 포함되어 있습니다. 각 필수 섹션이 정의되어 있고, 작업 설명에서 "태그 추가"로 변경 내용을 명시하고 있습니다. 비록 일부 섹션이 최소한의 정보만 포함하고 있지만, 템플릿의 주요 구조는 충분히 완성되어 있습니다.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch #199-amplitude-tag

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 194326e and e790982.

📒 Files selected for processing (6)
  • core/common/src/main/java/com/teamwable/common/util/AmplitudeTag.kt (2 hunks)
  • feature/main/src/main/java/com/teamwable/main/MainActivity.kt (2 hunks)
  • feature/news/src/main/java/com/teamwable/news/NewsFragment.kt (2 hunks)
  • feature/news/src/main/java/com/teamwable/news/curation/NewsCurationRoute.kt (2 hunks)
  • feature/quiz/src/main/java/com/teamwable/quiz/result/QuizResultScreen.kt (2 hunks)
  • feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartScreen.kt (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-25T19:46:32.165Z
Learnt from: chanubc
PR: Team-Wable/WABLE-ANDROID#194
File: feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartViewModel.kt:49-62
Timestamp: 2025-10-25T19:46:32.165Z
Learning: In feature/quiz QuizStartViewModel.kt, the submitQuiz() function does not need null-check validation for oxType or quizModel because the submit button in QuizStartScreen is only enabled when state.enabled is true (which means oxType != null). The UI enforces this constraint, preventing submitQuiz() from being called when no answer is selected.

Applied to files:

  • feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartScreen.kt
  • feature/quiz/src/main/java/com/teamwable/quiz/result/QuizResultScreen.kt
🧬 Code graph analysis (5)
feature/news/src/main/java/com/teamwable/news/NewsFragment.kt (1)
core/common/src/main/java/com/teamwable/common/util/AmplitudeUtil.kt (1)
  • trackEvent (21-23)
feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartScreen.kt (1)
core/common/src/main/java/com/teamwable/common/util/AmplitudeUtil.kt (1)
  • trackEvent (21-23)
feature/quiz/src/main/java/com/teamwable/quiz/result/QuizResultScreen.kt (1)
core/common/src/main/java/com/teamwable/common/util/AmplitudeUtil.kt (1)
  • trackEvent (21-23)
feature/news/src/main/java/com/teamwable/news/curation/NewsCurationRoute.kt (1)
core/common/src/main/java/com/teamwable/common/util/AmplitudeUtil.kt (1)
  • trackEvent (21-23)
feature/main/src/main/java/com/teamwable/main/MainActivity.kt (1)
core/common/src/main/java/com/teamwable/common/util/AmplitudeUtil.kt (1)
  • trackEvent (21-23)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: PR Checker
🔇 Additional comments (8)
core/common/src/main/java/com/teamwable/common/util/AmplitudeTag.kt (3)

48-49: LGTM! 큐레이션 관련 태그가 올바르게 추가되었습니다.

AmplitudeNewsTag에 큐레이션 탭 선택과 컨텐츠 클릭을 구분하여 추적할 수 있는 태그가 추가되었습니다. 기존 패턴과 일관성 있게 구현되었습니다.


73-77: LGTM! 퀴즈 관련 Amplitude 태그가 적절하게 정의되었습니다.

퀴즈 기능의 주요 사용자 액션(네비게이션, 제출, XP 획득)을 추적하기 위한 태그가 명확하게 정의되었습니다.


79-81: LGTM! 커뮤니티 태그가 올바르게 추가되었습니다.

커뮤니티 하단 네비게이션 클릭을 추적하기 위한 태그가 기존 패턴과 일관성 있게 추가되었습니다.

feature/main/src/main/java/com/teamwable/main/MainActivity.kt (1)

26-26: LGTM! 하단 네비게이션 추적이 일관성 있게 구현되었습니다.

커뮤니티와 퀴즈 탭의 클릭 이벤트 추적이 기존 홈, 뉴스, 프로필 탭과 동일한 패턴으로 추가되었습니다.

Also applies to: 30-30, 199-200

feature/news/src/main/java/com/teamwable/news/NewsFragment.kt (1)

9-9: LGTM! 큐레이션 탭 추적이 더 명확하게 개선되었습니다.

CLICK_NEWS 대신 CLICK_CURATION을 사용하여 큐레이션 탭 선택을 더 구체적으로 추적할 수 있게 되었습니다. 이는 Line 49의 CLICK_CONTENT_CURATION과 함께 큐레이션 기능의 사용 패턴을 세밀하게 분석할 수 있게 합니다.

Also applies to: 102-102

feature/quiz/src/main/java/com/teamwable/quiz/result/QuizResultScreen.kt (1)

27-28: LGTM! XP 버튼 클릭 추적이 올바르게 구현되었습니다.

XP 획득 버튼 클릭 이벤트가 적절한 위치에 추가되었습니다. onIntent 호출 후 trackEvent를 호출하는 패턴은 의도 처리가 동기적이고 네비게이션이 비동기적으로 발생하기 때문에 문제없습니다.

Also applies to: 67-70

feature/news/src/main/java/com/teamwable/news/curation/NewsCurationRoute.kt (1)

23-24: LGTM! 큐레이션 컨텐츠 클릭 추적이 적절하게 추가되었습니다.

개별 큐레이션 아이템 클릭 시 CLICK_CONTENT_CURATION 이벤트가 추적됩니다. 이는 NewsFragment의 CLICK_CURATION(탭 선택)과 함께 큐레이션 기능의 전체 사용자 여정을 추적할 수 있게 합니다.

Also applies to: 60-63

feature/quiz/src/main/java/com/teamwable/quiz/start/QuizStartScreen.kt (1)

26-27: LGTM! 퀴즈 제출 추적이 올바르게 구현되었습니다.

퀴즈 제출 버튼 클릭 이벤트가 적절하게 추가되었습니다. 버튼 활성화 상태는 UI에서 state.enabled로 제어되므로, 추적 이벤트는 유효한 퀴즈 제출 시에만 발생합니다.

Also applies to: 65-68


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Member

@chanubc chanubc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르네요ㄷㄷ
굳!!

@sohyun127 sohyun127 merged commit 32dbcde into develop Oct 30, 2025
2 checks passed
@sohyun127 sohyun127 deleted the #199-amplitude-tag branch October 30, 2025 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⭐ [FEAT] 새로운 기능 구현 🐱 소현 리나

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] : 앰플리튜드 태그

2 participants