Skip to content

Conversation

@seongwon030
Copy link
Member

@seongwon030 seongwon030 commented Nov 19, 2025

#️⃣연관된 이슈

ex) #853

📝작업 내용

  • 이벤트명 영어로 되어 있어 관심사 나누어서 주석을 추가했습니다.
  • EVENT_NAME 객체명을 USER_EVENT로 바꾸었습니다.
  • PAGE_VIEW 객체를 만들어 페이지 트래킹 이벤트명을 따로 분리했습니다.
  • SHARE 버튼·SNS 링크 이벤트명을 영문화했습니다.

중점적으로 리뷰받고 싶은 부분(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

논의하고 싶은 부분(선택)

논의하고 싶은 부분이 있다면 작성해주세요.

🫡 참고사항

Summary by CodeRabbit

  • Refactor
    • 이벤트 추적 네이밍을 통합하고 추적 호출을 일관화하여 분석 데이터 품질을 개선했습니다.
    • 여러 화면과 UI 요소의 페이지/이벤트 추적을 중앙화된 식별자로 표준화했습니다.
  • New Features
    • 일부 페이지에 표준화된 페이지뷰 추적을 추가하여 사용자 여정 분석 범위를 확장했습니다.

@seongwon030 seongwon030 self-assigned this Nov 19, 2025
@seongwon030 seongwon030 added 🔨 Refactor 코드 리팩토링 💻 FE Frontend labels Nov 19, 2025
@vercel
Copy link

vercel bot commented Nov 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
moadong Ready Ready Preview Comment Nov 19, 2025 6:33am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 19, 2025

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: Invalid regex pattern for base branch. Received: "**" at "reviews.auto_review.base_branches[0]"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

EVENT_NAME을 USER_EVENT로 교체하고 PAGE_VIEW 상수를 추가해 페이지 추적 식별자를 중앙화했습니다. 프론트엔드 전역의 mixpanel/analytics 추적 호출과 일부 페이지에서 하드코딩된 페이지명·페이로드를 PAGE_VIEW/USER_EVENT로 대체했습니다.

Changes

Cohort / File(s) Summary
Event Constants Definition
frontend/src/constants/eventName.ts
EVENT_NAMEUSER_EVENT로 명칭 변경 및 키 재구성, 페이지 식별자용 PAGE_VIEW 상수 추가(APPLICATION_FORM_PAGE, CLUB_DETAIL_PAGE, MAIN_PAGE, INTRODUCE_PAGE, CLUB_UNION_PAGE)
Header & Header Hooks
frontend/src/components/common/Header/Header.tsx, frontend/src/hooks/Header/useHeaderNavigation.ts
EVENT_NAME 임포트→USER_EVENT로 변경; 헤더 관련 버튼(홈/도입/클럽연합/패치노트/모바일메뉴 등) 이벤트 트래킹 키 참조 업데이트
Photo Navigation Hook
frontend/src/hooks/PhotoList/usePhotoNavigation.ts
EVENT_NAMEUSER_EVENT 교체; PHOTO_NAVIGATION_CLICKED 트래킹 호출 업데이트
Application & Page Views
frontend/src/pages/ApplicationFormPage/ApplicationFormPage.tsx, frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx, frontend/src/pages/ClubUnionPage/ClubUnionPage.tsx, frontend/src/pages/IntroducePage/IntroducePage.tsx, frontend/src/pages/MainPage/MainPage.tsx
하드코딩 페이지명 → PAGE_VIEW.* 상수로 대체; ApplicationFormPage 제출 이벤트에서 이벤트 네임 및 페이로드 필드(club_id, club_name)로 변경
Club Detail Components
frontend/src/pages/ClubDetailPage/components/...
ClubApplyButton/ClubApplyButton.tsx, ClubCard/ClubCard.tsx, InfoTabs/InfoTabs.tsx, ShareButton/ShareButton.tsx, SnsLinkIcons/SnsLinkIcons.tsx
EVENT_NAMEUSER_EVENT로 변경; 관련 이벤트 키(CLU B_APPLY_BUTTON_CLICKED, RECOMMENDED_CLUB_CLICKED, TAB_CLICKED, SHARE_BUTTON_CLICKED, SNS_LINK_CLICKED 등)로 트래킹 호출 업데이트; 불필요한 mixpanel import 제거(일부 파일)
Main Page Components
frontend/src/pages/MainPage/components/...
CategoryButtonList/CategoryButtonList.tsx, ClubCard/ClubCard.tsx, StatusRadioButton/StatusRadioButton.tsx
이벤트 상수 소스 변경(EVENT_NAMEUSER_EVENT), 하드코딩 이벤트명 → USER_EVENT.* 상수로 대체

Sequence Diagram(s)

(변경 내용이 상수명·트래킹 호출 일괄 교체와 페이지 뷰 상수 도입에 국한되어 제어 흐름 변경이 크지 않으므로 시퀀스 다이어그램은 생략합니다.)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • 이유: 동일한 리팩토링 패턴이 여러 파일에 반복 적용되었으나, 파일 수와 페이로드 변경(ApplicationFormPage) 때문에 검토 포인트가 몇 곳 존재함.
  • 추가 검토 포인트:
    • frontend/src/constants/eventName.ts의 USER_EVENT 및 PAGE_VIEW 키 명세가 실제 사용처와 정확히 일치하는지 확인
    • ApplicationFormPage.tsx의 제출 이벤트 페이로드 변경(club_id, club_name)과 백엔드/analytics 수집 스키마 호환성 검증
    • 불필요해진 mixpanel 직접 임포트 제거로 영향받는 파일(예: ClubCard.tsx) 검증

Possibly related issues

Possibly related PRs

  • PR #676 — 동일 모듈(eventName) 및 이벤트명 사용 영역을 변경한 PR로 코드 레벨 연관성 높음.
  • PR #641 — 기존 EVENT_NAME 도입 및 하드코딩 대체 작업을 수행한 PR로 직접적 연관.
  • PR #746 — ApplicationFormPage의 이벤트 정의·페이로드를 수정한 PR로 ApplicationForm 관련 변경과 연관.

Suggested reviewers

  • lepitaaar
  • Zepelown
  • oesnuj

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 주요 변경 사항을 명확하게 요약하고 있습니다. 믹스패널 이벤트 이름 통일이라는 핵심 목표를 잘 나타냅니다.
Linked Issues check ✅ Passed PR의 모든 코드 변경 사항이 연결된 이슈 MOA-358의 목표인 '이벤트 이름 규칙 정하고 통일'을 충족하고 있습니다.
Out of Scope Changes check ✅ Passed 모든 변경 사항이 믹스패널 이벤트 이름 통일이라는 정의된 범위 내에 있으며, 범위를 벗어난 변경 사항이 없습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 refactor/#853-unify-mixpanel-event-name-MOA-358

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
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 1e5be34 and c05b39a.

📒 Files selected for processing (18)
  • frontend/src/components/common/Header/Header.tsx (2 hunks)
  • frontend/src/constants/eventName.ts (1 hunks)
  • frontend/src/hooks/Header/useHeaderNavigation.ts (3 hunks)
  • frontend/src/hooks/PhotoList/usePhotoNavigation.ts (3 hunks)
  • frontend/src/pages/ApplicationFormPage/ApplicationFormPage.tsx (3 hunks)
  • frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx (2 hunks)
  • frontend/src/pages/ClubDetailPage/components/BackNavigationBar/BackNavigationBar.tsx (1 hunks)
  • frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx (2 hunks)
  • frontend/src/pages/ClubDetailPage/components/ClubCard/ClubCard.tsx (2 hunks)
  • frontend/src/pages/ClubDetailPage/components/InfoTabs/InfoTabs.tsx (2 hunks)
  • frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx (2 hunks)
  • frontend/src/pages/ClubDetailPage/components/SnsLinkIcons/SnsLinkIcons.tsx (2 hunks)
  • frontend/src/pages/ClubUnionPage/ClubUnionPage.tsx (1 hunks)
  • frontend/src/pages/IntroducePage/IntroducePage.tsx (1 hunks)
  • frontend/src/pages/MainPage/MainPage.tsx (1 hunks)
  • frontend/src/pages/MainPage/components/CategoryButtonList/CategoryButtonList.tsx (2 hunks)
  • frontend/src/pages/MainPage/components/ClubCard/ClubCard.tsx (1 hunks)
  • frontend/src/pages/MainPage/components/StatusRadioButton/StatusRadioButton.tsx (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-03-19T05:18:07.818Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 195
File: frontend/src/pages/AdminPage/AdminPage.tsx:7-7
Timestamp: 2025-03-19T05:18:07.818Z
Learning: AdminPage.tsx에서 현재 하드코딩된 클럽 ID('67d2e3b9b15c136c6acbf20b')는 로그인 기능 구현 후 동적으로 가져오는 방식으로 수정될 예정입니다.

Applied to files:

  • frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx
  • frontend/src/pages/ClubDetailPage/components/ClubCard/ClubCard.tsx
  • frontend/src/pages/ApplicationFormPage/ApplicationFormPage.tsx
  • frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx
  • frontend/src/pages/MainPage/components/ClubCard/ClubCard.tsx
  • frontend/src/pages/ClubUnionPage/ClubUnionPage.tsx
  • frontend/src/pages/MainPage/MainPage.tsx
📚 Learning: 2025-09-21T02:23:27.796Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 744
File: frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx:47-48
Timestamp: 2025-09-21T02:23:27.796Z
Learning: ClubApplyButton 컴포넌트에서 ShareButton은 항상 렌더링되어야 하므로 정적 import를 사용하는 것이 적절함. 동적 import는 불필요함.

Applied to files:

  • frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx
📚 Learning: 2025-07-19T05:05:10.196Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 548
File: frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx:17-57
Timestamp: 2025-07-19T05:05:10.196Z
Learning: ClubDetailPage.tsx에서 notJoinedClubNames 배열의 하드코딩은 의도적인 설계 결정입니다. 개발자가 명시적으로 하드코딩을 선택했으므로 이에 대한 리팩토링 제안을 하지 않아야 합니다.

Applied to files:

  • frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx
🧬 Code graph analysis (17)
frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/components/ClubCard/ClubCard.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/hooks/PhotoList/usePhotoNavigation.ts (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/components/InfoTabs/InfoTabs.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ApplicationFormPage/ApplicationFormPage.tsx (1)
frontend/src/constants/eventName.ts (2)
  • PAGE_VIEW (33-39)
  • USER_EVENT (1-31)
frontend/src/pages/MainPage/components/StatusRadioButton/StatusRadioButton.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/components/BackNavigationBar/BackNavigationBar.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx (1)
frontend/src/constants/eventName.ts (1)
  • PAGE_VIEW (33-39)
frontend/src/pages/MainPage/components/ClubCard/ClubCard.tsx (2)
frontend/src/types/club.ts (1)
  • Club (3-12)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/MainPage/components/CategoryButtonList/CategoryButtonList.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubUnionPage/ClubUnionPage.tsx (1)
frontend/src/constants/eventName.ts (1)
  • PAGE_VIEW (33-39)
frontend/src/pages/IntroducePage/IntroducePage.tsx (1)
frontend/src/constants/eventName.ts (1)
  • PAGE_VIEW (33-39)
frontend/src/pages/MainPage/MainPage.tsx (1)
frontend/src/constants/eventName.ts (1)
  • PAGE_VIEW (33-39)
frontend/src/hooks/Header/useHeaderNavigation.ts (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/components/common/Header/Header.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
frontend/src/pages/ClubDetailPage/components/SnsLinkIcons/SnsLinkIcons.tsx (1)
frontend/src/constants/eventName.ts (1)
  • USER_EVENT (1-31)
🔇 Additional comments (19)
frontend/src/pages/ClubDetailPage/components/ClubCard/ClubCard.tsx (1)

10-10: 이벤트 상수 리팩토링이 올바르게 적용되었습니다.

EVENT_NAME에서 USER_EVENT로의 변경이 정확하게 반영되었으며, 이벤트 추적 로직은 동일하게 유지됩니다.

Also applies to: 20-20

frontend/src/pages/ClubDetailPage/components/SnsLinkIcons/SnsLinkIcons.tsx (1)

6-6: 이벤트 네임스페이스 변경이 정확하게 적용되었습니다.

USER_EVENT.SNS_LINK_CLICKED로의 업데이트가 올바르게 반영되어 있으며, 추적 페이로드(platform, clubName)는 변경 없이 유지됩니다.

Also applies to: 30-30

frontend/src/constants/eventName.ts (1)

33-39: PAGE_VIEW 분리가 잘 구조화되었습니다.

페이지 추적 이벤트를 USER_EVENT와 별도의 PAGE_VIEW 객체로 분리한 것은 좋은 설계입니다. 이벤트 유형을 명확하게 구분하여 유지보수성을 향상시킵니다.

frontend/src/pages/ClubDetailPage/components/InfoTabs/InfoTabs.tsx (1)

4-4: 탭 클릭 이벤트 추적이 올바르게 업데이트되었습니다.

USER_EVENT.TAB_CLICKED로의 변경이 정확하게 적용되었으며, 이벤트 페이로드(tabName, tabIndex)는 유지됩니다.

Also applies to: 17-17

frontend/src/pages/MainPage/components/StatusRadioButton/StatusRadioButton.tsx (1)

4-4: 상태 라디오 버튼 이벤트가 정확하게 업데이트되었습니다.

USER_EVENT 네임스페이스로의 마이그레이션이 올바르게 적용되었으며, 상태 추적 로직(OPEN/ALL)은 변경 없이 유지됩니다.

Also applies to: 19-19

frontend/src/pages/MainPage/components/CategoryButtonList/CategoryButtonList.tsx (1)

6-6: 카테고리 버튼 이벤트 추적이 일관되게 리팩토링되었습니다.

USER_EVENT.CATEGORY_BUTTON_CLICKED로의 업데이트가 정확하며, 카테고리 정보를 포함한 이벤트 페이로드는 그대로 유지됩니다.

Also applies to: 29-29

frontend/src/pages/ClubDetailPage/components/ClubApplyButton/ClubApplyButton.tsx (1)

6-6: 동아리 지원 버튼 이벤트가 올바르게 업데이트되었습니다.

USER_EVENT.CLUB_APPLY_BUTTON_CLICKED로의 변경이 정확하게 반영되었으며, 지원 버튼 클릭 추적 로직은 동일하게 유지됩니다.

Also applies to: 54-54

frontend/src/pages/ClubDetailPage/components/ShareButton/ShareButton.tsx (1)

5-5: 공유 버튼 이벤트가 정확하게 업데이트되었습니다.

USER_EVENT.SHARE_BUTTON_CLICKED로의 변경이 올바르게 적용되었으며, 카카오톡 공유 기능과 이벤트 추적이 정상적으로 동작합니다.

Also applies to: 48-48

frontend/src/pages/ClubUnionPage/ClubUnionPage.tsx (1)

8-11: 변경 사항이 올바릅니다.

페이지 뷰 추적을 중앙화된 PAGE_VIEW.CLUB_UNION_PAGE 상수로 변경하여 이벤트 이름 관리가 일관되게 개선되었습니다.

frontend/src/pages/IntroducePage/IntroducePage.tsx (1)

12-16: 페이지 뷰 추적 추가가 적절합니다.

중앙화된 PAGE_VIEW.INTRODUCE_PAGE 상수를 사용하여 페이지 뷰 추적을 추가했습니다. 다른 페이지들과 일관된 패턴입니다.

frontend/src/hooks/PhotoList/usePhotoNavigation.ts (1)

3-3: 이벤트 상수 업데이트가 올바릅니다.

EVENT_NAME에서 USER_EVENT로의 마이그레이션이 일관되게 적용되었습니다. 이벤트 추적 로직은 변경되지 않았습니다.

Also applies to: 38-41, 47-50

frontend/src/pages/ApplicationFormPage/ApplicationFormPage.tsx (2)

18-18: 페이지 뷰 추적 상수화가 적절합니다.

중앙화된 PAGE_VIEW.APPLICATION_FORM_PAGE 상수를 사용하도록 변경되었습니다.

Also applies to: 38-40


92-95: Mixpanel 대시보드에서 clubName 속성 사용 여부 확인 필수

이 이벤트 추적 페이로드 변경은 ApplicationFormPage.tsx 라인 92-95에만 영향을 미칩니다. 코드베이스에서 APPLICATION_FORM_SUBMITTED 이벤트는 이 위치에서만 호출되므로 다른 코드 영역에는 영향을 주지 않습니다.

다만, 기존 Mixpanel 대시보드나 쿼리에서 clubName 속성을 사용하고 있다면 분석 데이터 수집이 중단될 수 있으므로 다음을 확인하세요:

  • Mixpanel 대시보드에서 이 이벤트의 clubName 속성을 사용하는 쿼리/차트 존재 여부
  • 필요시 대시보드를 club_name으로 업데이트하거나 마이그레이션 계획 수립
frontend/src/pages/MainPage/MainPage.tsx (1)

16-19: 페이지 뷰 추적 상수화가 올바릅니다.

하드코딩된 문자열을 중앙화된 PAGE_VIEW.MAIN_PAGE 상수로 교체하여 일관성이 향상되었습니다.

frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx (1)

17-17: 페이지 뷰 추적 상수화가 적절합니다.

중앙화된 PAGE_VIEW.CLUB_DETAIL_PAGE 상수를 사용하도록 변경되었습니다. 클럽 이름을 두 번째 파라미터로 전달하는 기존 로직도 유지되었습니다.

Also applies to: 35-35

frontend/src/components/common/Header/Header.tsx (1)

6-6: 이벤트 상수 마이그레이션이 올바릅니다.

EVENT_NAME에서 USER_EVENT로의 변경이 일관되게 적용되었습니다.

Also applies to: 40-40

frontend/src/pages/MainPage/components/ClubCard/ClubCard.tsx (1)

10-10: 이벤트 이름 상수화가 적절합니다.

하드코딩된 이벤트 이름 문자열을 USER_EVENT.CLUB_CARD_CLICKED 상수로 교체하여 관리가 개선되었습니다.

Also applies to: 18-22

frontend/src/pages/ClubDetailPage/components/BackNavigationBar/BackNavigationBar.tsx (1)

5-12: LGTM! 일관된 리팩토링입니다.

EVENT_NAME에서 USER_EVENT로의 변경이 import와 사용처 모두에서 올바르게 적용되었습니다. 이벤트 이름 문자열은 그대로 유지되어 기존 Mixpanel 추적 데이터와의 호환성도 보장됩니다.

frontend/src/hooks/Header/useHeaderNavigation.ts (1)

5-36: LGTM! 모든 이벤트 추적이 일관되게 업데이트되었습니다.

헤더 네비게이션 훅의 모든 이벤트 추적 호출(HOME_BUTTON_CLICKED, INTRODUCE_BUTTON_CLICKED, CLUB_UNION_BUTTON_CLICKED, PATCH_NOTE_BUTTON_CLICKED)이 USER_EVENT로 올바르게 변경되었습니다. 리팩토링이 완전하고 일관되게 적용되었습니다.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
frontend/src/constants/eventName.ts (1)

15-15: 클릭 이벤트의 네이밍 패턴 일관성을 유지하세요.

다른 클릭 이벤트들은 "Clicked" 접미사를 포함하고 있으나, 이 이벤트는 누락되어 있습니다.

다음과 같이 수정하여 일관성을 유지하세요:

-  PHOTO_NAVIGATION_CLICKED: 'Photo Navigation' as const,
+  PHOTO_NAVIGATION_CLICKED: 'Photo Navigation Clicked' as const,
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between c05b39a and aef3e06.

📒 Files selected for processing (1)
  • frontend/src/constants/eventName.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-08-24T17:33:23.092Z
Learnt from: suhyun113
Repo: Moadong/moadong PR: 698
File: frontend/src/hooks/queries/applicants/useDeleteApplicants.ts:10-16
Timestamp: 2025-08-24T17:33:23.092Z
Learning: The codebase has inconsistent console logging patterns across files - mixing console.log/console.error for errors, using both Korean and English messages, and various formatting styles (template literals vs separate arguments, with/without emojis). A unified logging format like `console.error('[ModuleName] Operation failed:', error)` should be established for better debugging consistency.

Applied to files:

  • frontend/src/constants/eventName.ts
📚 Learning: 2025-07-19T05:05:10.196Z
Learnt from: seongwon030
Repo: Moadong/moadong PR: 548
File: frontend/src/pages/ClubDetailPage/ClubDetailPage.tsx:17-57
Timestamp: 2025-07-19T05:05:10.196Z
Learning: ClubDetailPage.tsx에서 notJoinedClubNames 배열의 하드코딩은 의도적인 설계 결정입니다. 개발자가 명시적으로 하드코딩을 선택했으므로 이에 대한 리팩토링 제안을 하지 않아야 합니다.

Applied to files:

  • frontend/src/constants/eventName.ts
🔇 Additional comments (3)
frontend/src/constants/eventName.ts (3)

1-3: EVENT_NAME에서 USER_EVENT로의 리네이밍이 적절합니다.

사용자 상호작용 이벤트와 페이지 뷰를 명확히 구분하여 이벤트 추적의 의도를 더 명확하게 전달합니다.


23-25: 이전 리뷰에서 지적된 언어 혼용 문제가 해결되었습니다.

공유 버튼 이벤트명이 모두 영어로 통일되어 일관성이 확보되었습니다.


33-39: PAGE_VIEW 상수 분리가 명확한 관심사 분리를 제공합니다.

페이지 트래킹 이벤트를 사용자 상호작용 이벤트와 분리하여 코드의 의도를 명확히 하고 유지보수성을 향상시켰습니다. 모든 페이지 식별자가 일관된 네이밍 패턴을 따릅니다.

Copy link
Contributor

@lepitaaar lepitaaar left a comment

Choose a reason for hiding this comment

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

이벤트 정리 하신거 좋네요. 이벤트이름 한글로 설정할 수있다 하셨는데 어디서할수있나요?

@seongwon030 seongwon030 linked an issue Nov 19, 2025 that may be closed by this pull request
2 tasks
@seongwon030
Copy link
Member Author

이벤트 정리 하신거 좋네요. 이벤트이름 한글로 설정할 수있다 하셨는데 어디서할수있나요?

https://mixpanel.com/project/3611536/view/4111120/app/lexicon/transformations/events

여기 렉시콘에서 각 이벤트의 display name을 설정할 수 있어요. 겸사겸사 Description도 추가했습니다.

@seongwon030 seongwon030 merged commit 247f1d1 into develop-fe Nov 19, 2025
3 checks passed
@seongwon030 seongwon030 deleted the refactor/#853-unify-mixpanel-event-name-MOA-358 branch November 19, 2025 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💻 FE Frontend 🔨 Refactor 코드 리팩토링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] MOA-358 믹스패널 이벤트 이름을 통일한다

3 participants