Skip to content

관리자 대시보드와 비즈니스 이벤트·문의 관리 추가 - #3

Open
Sadturtleman wants to merge 2 commits into
codex/learning-content-layoutfrom
codex/admin-business-dashboard
Open

Sadturtleman wants to merge 2 commits into
codex/learning-content-layoutfrom
codex/admin-business-dashboard

Conversation

@Sadturtleman

@Sadturtleman Sadturtleman commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

관리자는 로그인 후 대시보드에서 KST 누적·일·주·월 고유 접속자, 가입자, 비용/매출, 문의와 비즈니스 이벤트를 확인할 수 있습니다. 지정된 Google 이메일만 서버에서 허용하고 사용자 문의는 소유자에게만 공개합니다.

  • 방문자 중복 제거와 기간별 차트·표, 회원 가입·퀴즈·실행·리뷰·문의 이벤트를 영속 저장합니다. 학습 기록 삭제 후에도 집계 근거를 유지하며 코드·인증값·문의 본문을 로그에 넣지 않습니다.
  • 사용자가 문의를 등록하면 관리자가 답변·상태를 갱신하고 사용자가 확인합니다. 중복 요청과 동시에 편집한 답변 충돌을 처리합니다.
  • 비용은 실제 청구 JSON 가져오기와 운영 수집 API를 제공합니다. 통화별 비용/매출·환불 원장과 LLM 토큰 사용량을 분리합니다. GCP Billing export와 PG는 미연동이며 비용 미수집을 0원으로 표시하지 않습니다.
  • DB migration 5는 추가 테이블만 생성하고 관리자 이메일은 Terraform 환경 변수로 설정합니다.

검증: 타입 검사, 전체 테스트 41개 통과/로컬 PostgreSQL 전용 1개 생략, 서버·웹·워커 빌드 성공. 최종 관련 서버 검사 20개와 전체 브라우저 15개 통과. 관리자 401/403·CSRF·KST 경계·문의 소유권·원장 중복·기록 삭제 후 로그 보존, 실제 문의 답변/비용 가져오기/다크모드/모바일을 검사했습니다.

PR #2의 학습 화면 변경 위에 쌓은 PR입니다. 병합 순서는 #2 → 본 PR입니다.

운영 배포 검증: Cloud Run 이미지 69eead6b-106c-4892-b889-fc789a564aee 반영, DB 마이그레이션 1~5 확인, health 200. 모든 관리자 목록과 문의 API의 비로그인 401을 확인했습니다. 지정한 기존 Google 계정으로 관리자 메뉴와 실제 고유 접속자·가입자·Gemini 토큰 사용량이 표시되는 것을 운영 브라우저에서 확인했습니다. 운영 DB에 가상 비용·매출·문의는 입력하지 않았습니다.

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.

1 participant