Conversation
- currentOpenChatroomsCount 필드 추가: endDate 시점 열려있는 채팅방 - 활성 채팅방 계산: endDate 기준 최근 7일 내 updated_at (중복 방지) - 채팅방 활성률: 활성 채팅방 / 현재 열려있는 채팅방으로 변경 - 프론트엔드: 현재 열려있는 채팅방 박스 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- @PostConstruct aggregateRecentKpisOnStartup() 메서드 제거 - 서버 재시작 시마다 60일치 중복 집계 방지 - 매일 새벽 1시 스케줄러만 유지하여 전날 데이터 집계 - 과거 데이터는 Admin API로 수동 집계 가능
- POST /v1/admin/kpi/aggregate-range 엔드포인트 추가 - startDate부터 endDate까지 일괄 집계 지원 - 파라미터 없이 호출 시 최근 30일 자동 집계 - 각 날짜별 성공/실패 여부 및 통계 응답 제공
- 날짜 선택 영역에 "대량 집계" 버튼 추가 - 기간 선택 모달 창 구현 (시작일~종료일) - 집계 진행 상태 및 결과 표시 (성공/실패 개수, 상세 정보) - 집계 성공 시 자동 대시보드 새로고침 - 모달 애니메이션 및 UX 개선
Feature/#379 KPI 대시보드 구현 및 집계 로직 전면 개선
[feat] 코드 해제 요청 알림 본문 제거
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 요약
이번 릴리즈는 관리자용 KPI 대시보드를 처음부터 완전히 구현하고, 데이터 정확성 및 성능을 개선했습니다. 총 35개의 커밋이 포함되어 있으며, 주요 기능 추가와 버그 수정이 이루어졌습니다.
🎯 주요 변경사항
📊 1. KPI 대시보드 구현 (22개 커밋)
Phase 1: 기본 인프라 구축
DB 마이그레이션 (V18)
daily_kpi테이블 생성 (시그널, 채팅, 질문, 코드해제, 종료 KPI)chat_room_question.is_initial필드 추가 (초기 질문 구분)도메인 레이어
DailyKpi엔티티 구현인프라 레이어
DailyKpiJpaRepository,KpiChatRepository,KpiSignalRepository구현Phase 2: 배치 집계 시스템
KpiBatchService: 5개 카테고리 KPI 집계 로직
KpiScheduler: 매일 새벽 1시 자동 집계
초기 질문 구분 로직
QuestionService,ChatService수정Phase 3: API 및 프론트엔드
KpiController: 6개 엔드포인트
GET /v1/admin/kpi- 대시보드 페이지GET /v1/admin/kpi/summary- 기간별 KPI 요약GET /v1/admin/kpi/all- 전체 KPI 목록POST /v1/admin/kpi/aggregate- 단일 날짜 수동 집계GET /v1/admin/kpi/question-insights- 질문 인사이트GET /v1/admin/kpi/chatroom-statistics- 실시간 채팅방 통계프론트엔드 구현
🐛 2. 데이터 정확성 개선 (5개 커밋)
시그널 수락률 개선
acceptedAt기준으로 수락률 계산 → 타임존 불일치createdAt기준으로 변경, 정확한 수락률 산출질문 인사이트 데이터 소스 변경
Profile기반 → 프로필만 설정하고 실제 사용 안 한 질문도 포함ChatRoomQuestion기반 → 실제 채팅에서 사용된 질문만 집계질문 추천 KPI 버그 수정
isInitial판단 개선KPI 대시보드 날짜별 데이터 반영
질문 카테고리 쿼리 수정
⚡ 3. 성능 및 로직 최적화 (6개 커밋)
채팅방 집계 로직 개선
current_open_chatrooms_count필드 추가 (endDate 스냅샷)KPI 쿼리 최적화
updated_at직접 사용KPI 요약 조회 개선
currentOpenChatroomsSum,activeChatroomsSum을 기간별 합계에서 endDate 스 냅샷으로 변경스케줄러 최적화
🔧 4. 대량 집계 기능 (2개 커밋)
API 구현
POST /v1/admin/kpi/aggregate-rangeUI 구현
🔔 5. 알림 개선 (1개 커밋)
ChatService.sendCodeUnlockNotification()함수의 body 필드를 빈 문자열로 변경🐞 6. 기타 버그 수정
하위버전 재심사 시 상태 변경 이슈 수정
PENDING으로 정상 변경되도록 수정하위버전 알림 개선
히든이미지 저장 이슈 수정
PENDING으로 변경되도록 수정🛠 기술 스택
📦 영향 범위
Database
daily_kpi테이블 생성chat_room_question.is_initial필드 추가daily_kpi.current_open_chatrooms_count필드 추가Backend
QuestionService,ChatService,ChatRoomService일부 수정Frontend
✅ 테스트 체크리스트
📊 주요 커밋 히스토리
KPI 대시보드 (22개)
c9b333f - KPI 대시보드 DB 마이그레이션
7b7e07e - KPI 도메인 레이어 구현
97e56e9 - KPI 인프라 레이어 구현
dc3fc0d - 초기 질문 구분 로직 구현
e2720a0 - KPI 배치 서비스 구현
56bbb92 - KPI 배치 스케줄러 구현
e9fcd3b - KPI API 구현
20cd4ca - KPI 대시보드 프론트엔드 구현
b03788c - KPI 대시보드 네비게이션 추가
1ea1673 - 사이드바 중복 코드 제거
c57cfd3 - KPI 대시보드 실제 API 연동
bd68404 - KPI 자동 집계 기능 추가
fdfe8e7 - KPI 대시보드 12개 이슈 수정
231e068 - 질문 추천 KPI 수집 로직 버그 수정
e72d8d4 - 질문 인사이트 데이터 소스 변경
b6e0838 - 시그널 수락률 및 채팅방 통계 개선
8616b08 - KPI 대시보드 날짜별 데이터 반영 개선
f0f6dcb - KPI 쿼리 및 그래프 정렬 최적화
866f490 - KPI 채팅방 집계 로직 개선
1cbb2e9 - KPI 요약 조회 채팅방 수 계산 개선
9bf99ce - KPI 서버 시작 시 자동 집계 제거
fc6eac2 - KPI 대량 수동 집계 API 추가
947af06 - KPI 대시보드에 대량 집계 UI 추가
버그 수정 및 개선 (13개)
c09831c - Merge pull request #376 from CODE-LG/bug/#375
5fff556 - [bug] 히든이미지 저장 시 필드값 저장이 DB반영이 안되던 문제 수정
023738a - [hotfix] 하위버전 재심사 시 PENDING으로 상태 변경
81178ca - Merge pull request #372 from CODE-LG/feature/#370
eca1200 - [feat] 하위버전 알람가도록 수정, 히든이미지 제출 시 PENDING바뀌도록 수 정
8e04497 - [feat] 코드 해제 요청 알림 본문 제거
🔗 관련 이슈 및 PR
🚀 배포 노트
배포 전 체크사항
배포 후 모니터링
/v1/admin/kpi)