Skip to content

feat: GA 서비스 통계 대시보드 - #7

Merged
wlrnjs merged 2 commits into
developfrom
feat/ga-dashboard
Sep 26, 2026
Merged

wlrnjs merged 2 commits into
developfrom
feat/ga-dashboard

Conversation

@wlrnjs

@wlrnjs wlrnjs commented Sep 26, 2026

Copy link
Copy Markdown
Member

Pull Request

관련 이슈

  • close #이슈번호

작업 내용

  • 운영 앱의 Google Analytics 데이터를 보여주는 서비스 통계 대시보드를 추가했습니다. PC에서는 관리자 메인(/admin)에 바로 표시되고, 모바일에서는 메뉴의 "서비스 통계"(/admin/analytics)로 들어갑니다.
  • 7일, 30일, 90일 기간을 고를 수 있고 방문자, 신규 방문자, 방문 횟수, 페이지뷰, 가입, 게시글 작성을 카드로 보여줍니다. 각 카드에는 바로 앞 같은 길이 기간 대비 증감률을 표시합니다.
  • 일별 방문자와 최근 12주 주간 방문자 막대 차트를 추가했습니다. 막대에 마우스를 올리면 기간과 방문자 수가 보입니다.
  • 인기 검색어, 유입 경로(방문자 수 기준), 많이 본 페이지 순위를 추가했습니다. 많이 본 페이지는 운영 앱 해당 페이지로 연결됩니다.
  • GA 조회는 서버에서 서비스 계정으로 하며, 기간별로 10분 동안 캐시합니다. @google-analytics/data는 gRPC를 쓰므로 serverExternalPackages로 번들에서 뺐습니다.
  • PC 사이드바를 화면에 고정하고, 메뉴가 화면 높이보다 길면 메뉴 영역만 스크롤되도록 바꿨습니다. 스크롤바가 보이지 않아 메뉴가 잘린 것처럼 보이던 문제도 함께 고쳤습니다.

참고 사항

  • 배포 환경에 서버 환경 변수 GA_PROPERTY_ID, GA_CLIENT_EMAIL, GA_PRIVATE_KEY를 등록해야 통계가 표시됩니다. 값이 없으면 설정 안내가 나옵니다. 형식은 .env.example에 있습니다.
  • GA 속성(510805727)에 서비스 계정 ga-reader@finditem-admin.iam.gserviceaccount.com을 뷰어로 추가했습니다.
  • GA에 sign_up 이벤트가 수집되지 않고 있어 가입 카드는 현재 0으로 나옵니다. 정확한 가입 수와 게시글 수는 백엔드 집계 API를 요청할 예정입니다.
  • 카카오 로그인 복귀가 유입으로 잡히던 문제로 GA 태그 설정의 원치 않는 추천에 accounts.kakao.com을 등록했습니다. 이전 데이터에는 적용되지 않습니다.
  • Jest 전체(71개 스위트, 347개 테스트)와 tsc --noEmit은 통과했습니다. pnpm build와 e2e는 실행하지 않았습니다.

체크리스트

  • 기능이 정상 동작하는지 확인
  • 로컬 빌드/테스트 통과
  • 불필요한 코드/주석 제거

🤖 Generated with Claude Code

wlrnjs and others added 2 commits September 26, 2026 18:35
PC 사이드바가 화면 높이보다 길면 아래 메뉴가 잘린 것처럼 보였습니다.
macOS의 오버레이 스크롤바가 스크롤하기 전까지 보이지 않았기 때문입니다.
프로필은 위에 고정하고 메뉴 영역만 안에서 스크롤되게 했으며,
웹킷 스크롤바를 직접 그려 항상 보이게 했습니다.
PC에서 메뉴와 프로필 간격도 줄여 800px 안팎 높이에 스크롤 없이 들어가게 했습니다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
운영 앱의 Google Analytics 데이터를 서버에서 서비스 계정으로 조회해 보여줍니다.
PC에서는 관리자 메인에, 모바일에서는 /admin/analytics에 표시합니다.
기간(7일, 30일, 90일)별 요약 카드와 이전 기간 대비 증감,
일별과 주간 방문자 차트, 인기 검색어, 유입 경로, 많이 본 페이지를 제공합니다.
GA 조회 결과는 기간별로 10분 동안 캐시하고,
gRPC를 쓰는 @google-analytics/data는 serverExternalPackages로 번들에서 뺐습니다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
admin Ready Ready Preview Sep 26, 2026 9:36am UTC

@finditem-bot finditem-bot Bot added ✨ feature 새로운 기능 추가, 요구사항 반영 D-3 3일 이내에 처리가 필요합니다. labels Sep 26, 2026
@github-actions

Copy link
Copy Markdown

Jest Test Results

367 tests   367 ✅  21s ⏱️
 74 suites    0 💤
  1 files      0 ❌

Results for commit dd03440.

@github-actions

Copy link
Copy Markdown

Playwright Test Results

42 tests   42 ✅  15s ⏱️
 7 suites   0 💤
 1 files     0 ❌

Results for commit dd03440.

@wlrnjs wlrnjs self-assigned this Sep 26, 2026
@wlrnjs
wlrnjs merged commit cafbd6d into develop Sep 26, 2026
7 checks passed
@wlrnjs
wlrnjs deleted the feat/ga-dashboard branch September 26, 2026 09:38

This branch was successfully deployed

1 active deployment
Preview — dd034400 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

D-3 3일 이내에 처리가 필요합니다. ✨ feature 새로운 기능 추가, 요구사항 반영

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant