Skip to content

관리자 사용자 분석 및 계정 관리 개선 - #53

Merged
coldmans merged 3 commits into
mainfrom
codex/admin-analytics-dashboard-v2
Jul 28, 2026
Merged

관리자 사용자 분석 및 계정 관리 개선#53
coldmans merged 3 commits into
mainfrom
codex/admin-analytics-dashboard-v2

Conversation

@coldmans

@coldmans coldmans commented Jul 28, 2026

Copy link
Copy Markdown
Owner

요약

  • 관리자 대시보드를 이벤트 횟수 중심에서 실제 사용자 중심 지표로 개편했습니다.
  • 오늘 / 6시간 / 12시간 / 24시간 / 7일 / 30일 기간 선택과 조회 시작·종료·경과시간을 표시합니다.
  • 행동 사용자, 핵심 행동 사용자, 실제 DB 반영 사용자, 신규가입, 로그인/익명 행동자를 이전 동일 구간과 비교합니다.
  • 시간대별 사용자·이벤트 추이, 행동별 사용자/횟수/1인당 반복량, 검색어별 사용자 수를 제공합니다.
  • 60초 자동 갱신과 수동 새로고침을 지원합니다.

관리자 진입 및 계정 관리

  • 로그인 성공 후 업로드 화면이 아니라 사용자 분석 대시보드로 이동합니다.
  • 환경변수의 관리자 자격증명은 DB 계정을 만들기 위한 최초 진입용으로만 사용합니다.
  • 최초 로그인 시 계정 변경 화면으로 강제 이동하며, 변경 전에는 대시보드·업로드·문의·관리 API를 사용할 수 없습니다.
  • 변경한 아이디와 BCrypt 비밀번호 해시만 단일 관리자 테이블에 저장하고, 이후에는 최초 자격증명을 거부합니다.
  • 자격증명 버전을 세션과 서버 이전용 토큰에 포함해 아이디·비밀번호 변경 시 기존 관리자 세션을 무효화합니다.
  • 모든 관리자 화면에 대시보드·계정 관리 바로가기를 보강하고 모바일에서도 메뉴가 줄바꿈되도록 개선했습니다.

집계 기준

  • 모든 기간 경계와 DAU/MAU 날짜를 Asia/Seoul 기준으로 계산합니다.
  • 로그인 계정과 익명 세션을 결합하되, 한 세션이 정확히 한 계정으로 확인될 때만 해당 계정으로 합칩니다.
  • 실제 DB 반영 사용자는 선택 기간에 생성되어 현재 시간표/찜 테이블에 남은 사용자를 보수적으로 집계합니다.
  • 기존 /admin/api/analytics/summary는 호환을 위해 유지하고 새 /admin/api/analytics/dashboard를 추가했습니다.

운영 보강

  • 신규가입과 시간표/찜 추가 기간 조회용 인덱스를 추가했습니다.
  • 관리자 계정 테이블 및 서버 이전 토큰 자격증명 버전 마이그레이션을 추가했습니다.
  • 대시보드와 문의 화면의 로그아웃을 실제 POST 로그아웃으로 수정했습니다.

검증

  • ./gradlew test bootJar: 222개 테스트, 실패 0건, 스킵 2건
  • 운영 PostgreSQL 읽기 전용 스모크 쿼리: 현재 스냅샷, 행동별, 시간대별, 검색어, 계정 합계 정상 반환
  • Playwright 데스크톱 및 390x844 모바일 레이아웃 확인
  • 최초 로그인 → 계정 변경 강제 → 대시보드 → 초기 자격증명 거부 → 변경 자격증명 로그인 성공 확인
  • 기간 버튼 전환 및 API 재조회 확인

참고

  • 운영의 최초 관리자 아이디·비밀번호는 소스나 마이그레이션에 넣지 않고 Secret Manager 환경변수로만 주입합니다.
  • TIMETABLE_ADD 등 핵심 행동 이벤트는 버튼 실행 의도이므로, 실제 저장 성공과 구분해서 표시합니다.
  • 실제 DB 반영 지표는 이후 삭제된 행을 포함하지 않는 보수적 수치입니다.

Copilot AI review requested due to automatic review settings July 28, 2026 16:18
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coldmans coldmans changed the title 관리자 사용자 분석 대시보드 고도화 관리자 사용자 분석 및 계정 관리 개선 Jul 28, 2026
@coldmans
coldmans merged commit 044ce7b into main Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants