e4496c4655
docs: 릴리즈 노트 정리 (2026-04-14)
2026-04-14 15:54:00 +09:00
38c657f0ee
docs: 릴리즈 노트 업데이트
2026-04-14 15:48:37 +09:00
50b721b521
docs: 릴리즈 노트 업데이트
2026-04-13 12:47:22 +09:00
4d9213b509
docs: 릴리즈 노트 정리 (2026-04-13)
2026-04-13 09:34:07 +09:00
dd80aca6ba
docs: 릴리즈 노트 업데이트
2026-04-13 09:28:32 +09:00
2eebf2c83e
feat: health_log 일별 파티셔닝 + 인덱스 최적화
...
- PartitionService 범용화 (테이블명 파라미터) + 일별 파티션 메서드 추가
- PartitionManageScheduler에 health_log 일별 파티션 관리 추가 (7일 선행 생성, 90일 삭제)
- DataCleanupScheduler health_log DELETE 제거 (파티션 DROP으로 대체)
- SnpServiceHealthLog FK 제약 제거 (파티션 테이블 호환)
- 복합 인덱스 추가 (service_id+checked_at, daily_uptime 최적화)
- 마이그레이션 SQL 스크립트 추가
2026-04-13 09:27:46 +09:00
e22f155563
docs: 릴리즈 노트 정리 (2026-04-10)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:07:24 +09:00
528edb1c89
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:05:03 +09:00
34f0015cff
feat(ui): 서비스 API 분류 + API Key 관리 UI 전면 개선
...
서비스 API:
- snp_service_api에 apiDomain/apiSection 컬럼 추가
- API 신청 시 서비스 > 도메인 계층형 아코디언+테이블 선택
- 검토 모달 API 권한 편집 가능 (체크박스 토글, API 추가 모달)
API Key 관리:
- KPI 카드 4개 (대기/활성/만료임박/폐기)
- 필터 칩 (상태별) + 검색 + 15건 페이징
- 신청 관리: 사용자 아이콘, 필드 라벨 한글화, 목적 제거
- 키 관리: 소유자(userName) 필드 추가, 필드 순서 변경, maskedKey/생성일 제거
- 검토 모달: 탭(신청정보/API권한), EditableDateCard, 승인확인 변경테이블
- 상세 모달: 검토 모달 readOnly 재사용, 상태별 아이콘 헤더
- 키 상세: 상태별 색상, InfoRow, API Key 보기/숨기기+복사
Closes #31
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 11:03:55 +09:00
f0bcf49621
docs: 릴리즈 노트 정리 (2026-04-09)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:29:25 +09:00
21229d3389
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:26:34 +09:00
1aec67cee1
feat(phase6): 안정화 - 파티셔닝 배치, 데이터 정리, 에러 핸들링 보완
...
파티셔닝:
- PartitionService (JdbcTemplate DDL, 파티션 생성/삭제/목록)
- PartitionManageScheduler (매월 1일 00:00, 미래 파티션 생성 + 만료 파티션 DROP)
- partition_migration.sql (운영 DB 수동 실행용 마이그레이션 문서)
- snp_api_request_log 월별 Range 파티션 전환 완료
데이터 정리:
- DataCleanupScheduler (매일 02:00, health_log 90일 이전 DELETE)
- application.yml retention/partition 설정 추가
에러 핸들링:
- GlobalExceptionHandler: DataAccessException, IllegalArgumentException, HttpMessageNotReadableException 핸들러 추가
Closes #11
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:25:43 +09:00
2b6eee5341
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:04:58 +09:00
8ebac1fa54
feat(stats): 통계 메뉴 + 대시보드 피드백 반영
...
통계 메뉴 (5개 서브페이지):
- 서비스 통계 (요약카드+에러율비교+응답시간분포+시간별추이)
- 사용자 통계 (전체/API Key보유/API요청 사용자+역할분포+Top10)
- API 통계 (호출순위+에러순위+메서드분포+상태코드분포)
- 테넌트 통계 (요약카드+일별추이+API Key현황)
- 사용량 추이 (일별/주별/월별 탭, 요청수+성공률+응답시간+활성사용자)
대시보드 피드백:
- 요약카드 전일대비 소숫점 2자리
- 하트비트 카드형 (프로그레스바 제거, flex 균등분할)
- 테넌트 차트 제거
- 상위 API URL 쿼리파라미터 정규화 (SPLIT_PART)
- Gateway request_url 저장 시 쿼리스트링 제외
- "활성 사용자" → "API 요청 사용자" 라벨 변경
서비스 통계: 요약카드 flex 유동너비, 에러율+응답시간 차트 교체
사용자 통계: API Key 보유 사용자 카드 추가, flex 균등분할
API 통계: 타이틀 변경, 쿼리파라미터 제외 쿼리, 프로그레스바 분리
테넌트 통계: flex 균등분할, 빈 테넌트명 Unknown 처리
Closes #23
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 11:04:08 +09:00
0f706d8f41
docs: 릴리즈 노트 정리 (2026-04-08.2)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:57:13 +09:00
0b1ddc0da5
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:55:15 +09:00
145ddf20af
docs: 릴리즈 노트 정리 (2026-04-08)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 13:48:43 +09:00
cb615dae87
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 13:45:05 +09:00
c330be5a52
feat(phase5): 대시보드 + 통계 + Service Status 페이지
...
백엔드:
- DashboardService/Controller (요약, 시간별/서비스별/테넌트별 통계, 에러율, 상위API, 최근로그)
- 헬스체크 1분 간격, 매 체크마다 로그 기록 (status page용)
- ServiceStatusDetail API (90일 일별 uptime, 최근 체크 60건)
- 통계 쿼리 최적화 인덱스 추가
- 테넌트별 요청/사용자 비율 API
- 상위 API에 serviceName + apiName 표시
프론트엔드:
- DashboardPage (요약 카드 4개, 하트비트 바, Recharts 차트 4개, 테넌트 차트 2개, 최근 로그 5건+더보기)
- ServiceStatusPage (status.claude.com 스타일, 90일 uptime 바, Overall banner)
- ServiceStatusDetailPage (서비스별 상세, 일별 uptime 바+툴팁, 최근 체크 테이블, 색상 범례)
- 30초 자동 갱신 (대시보드), 60초 자동 갱신 (status)
- Request Logs 배지 색상 대시보드와 통일
Closes #10
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 13:44:23 +09:00
95922c5fa8
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 11:20:43 +09:00
0431d10dfd
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 10:13:19 +09:00
7884f0b4e9
docs: 릴리즈 노트 업데이트
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:05:58 +09:00
48671af3c5
feat(phase1): 기반 구축 - DB Entity, JWT 인증, 프론트엔드 레이아웃
...
백엔드:
- JPA Entity 9개 + Repository 9개 (common 스키마)
- JWT 인증 (jjwt, Access/Refresh 토큰)
- AuthController (login/logout/refresh)
- 공통 모듈 (BaseEntity, ErrorCode, BusinessException, PageResponse)
- SecurityConfig JWT 필터 체인 통합
프론트엔드:
- MainLayout (사이드바 + 헤더) + AuthLayout
- 로그인 페이지 + ProtectedRoute
- API 클라이언트 (fetch wrapper, JWT 자동 첨부, 401 refresh)
- AuthContext + useAuth 훅
- 9개 플레이스홀더 페이지 + 라우팅
설정:
- DB: snp_connection / snp_admin / common 스키마
- ddl-auto: update (개발), validate (운영)
Closes #6
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 13:52:25 +09:00
f7d304dc18
docs: 릴리즈 노트 정리 (2026-04-07)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:59:19 +09:00