커밋 그래프

10 커밋

작성자 SHA1 메시지 날짜
88e25abe14 feat(frontend): 디자인 시스템 적용 및 전체 UI 개선 (#42)
- 디자인 시스템 CSS 변수 토큰 적용 (success/warning/danger/info)
- PeriodFilter 공통 컴포넌트 생성 및 통계 페이지 적용
- SERVICE_BADGE_VARIANTS 공통 상수 추출
- 통계/요청로그/키관리/관리자 페이지 레퍼런스 디자인 반영
- 테이블 규격 통일 (h-8/h-7, px-3 py-1, text-xs, Button xs)
- 타이틀 아이콘 전체 페이지 통일
- 카드 테두리 디자인 통일 (border + rounded-xl)
- FHD 1920x1080 최적화
2026-04-17 14:45:27 +09:00
2a8723419d feat(ui): KCG 브랜딩 + 레이아웃 디자인 + 메뉴 한글화 (#48)
- S&P/SNP → KCG 텍스트 변경 (타이틀, 사이드바, 대시보드)
- 사이드 메뉴 한글화 (모니터링, 통계, API 키, 관리자, 부서)
- MainLayout/ApiHubLayout 헤더/사이드바 레퍼런스 디자인 적용
- 서비스 상태 카드 서비스 코드 제거
- 대시보드 배너 브랜드 컬러 그라디언트 적용
- 다크/라이트 테마 전환 .light 클래스 대응

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 16:37:31 +09:00
802d1ba464 feat(ui): KCG 브랜딩 적용 및 레이아웃 디자인 개선 (#48)
- S&P/SNP 텍스트를 KCG로 변경 (타이틀, 사이드바, 대시보드)
- 사이드 메뉴 한글화 (모니터링, 통계, API 키, 관리자)
- 테넌트 → 부서 텍스트 변경
- MainLayout 헤더/사이드바 레퍼런스 디자인 적용 (아이콘, 인디케이터, 알약 역할 스위처)
- ApiHubLayout 헤더/사이드바 레퍼런스 디자인 적용 (도메인 색상 팔레트, 도트 인디케이터)
- 서비스 상태 카드 서비스 코드 제거
- 대시보드 배너 설명 텍스트 변경
- 도메인 이미지 파일명 한글 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 12:55:24 +09:00
17d870c06a feat(domain): 도메인 관리 기능 및 API HUB 사이드바 개선
- SnpApiDomain 엔티티/레포/컨트롤러 (CRUD /api/domains)
- Admin 도메인 관리 페이지 (DomainsPage) - SVG 아이콘 미리보기
- API HUB 사이드바: 서비스 기반 3단 → 도메인 기반 2단 플랫 메뉴
- DB 아이콘/정렬순서 반영 (viewBox 24x24, 다중 path 지원)
- 카탈로그 DomainGroup에 iconPath/sortOrder 추가
- API 관리 도메인 입력을 셀렉트박스로 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 13:59:05 +09:00
6f2627271f feat(api-hub): S&P API HUB SPA 구현 (#40)
- API Hub 대시보드 (배너, 인기 API, 최신 API, 서비스 카드)
- 서비스 트리 사이드바 레이아웃 (서비스 > 도메인 > API)
- 서비스별 API 목록 페이지 (도메인별 그룹)
- API 상세 명세 페이지
- 백엔드 카탈로그/최신 API 조회 엔드포인트
- 메인 사이드바에 API Hub 링크 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:28:55 +09:00
97e5a24343 feat: 로그인 프로세스 제거 + 사용자 역할 토글 버튼
- JWT 인증 및 LoginPage 제거, SecurityConfig permitAll 전환
- @PreAuthorize 어노테이션 전체 제거 (@EnableMethodSecurity 비활성화)
- ADMIN/MANAGER/USER 역할 토글 버튼 (헤더) + localStorage 연동
- X-User-Id 헤더 기반 사용자 식별 (ApiKeyController, ApiKeyRequestController)
- RoleGuard 컴포넌트로 관리자 전용 페이지 접근 제어
- WebViewController 루트 리다이렉트 수정 (이중 context-path 방지)

closes #35
2026-04-13 09:27:17 +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
d4aa982e1a feat(ui): 피드백 반영 - 다크모드, API Key UX, 레이아웃 개선
공통:
- 다크/라이트 모드 (ThemeContext, Tailwind dark variant, 전체 페이지 적용)
- 사이드바 아이콘 링크체인 (#FF2E63), 헤더/사이드바 높이 통일
- 컨텐츠 영역 max-w-7xl 마진 통일 (대시보드 제외)
- 전체 Actions 버튼 bg-color-100 스타일 통일
- date input 달력 아이콘 다크모드 (filter invert)

API Keys:
- Request: 영구 사용 옵션 추가, 프리셋/영구 버튼 다크모드
- My Keys: ADMIN 직접 생성 제거 → Request 페이지 정식 폼으로 통일
- Admin: 키 관리 만료일 컬럼 추가, 권한 편집 제거 (승인 단계에서만 가능)

Gateway:
- API 경로 {변수} 패턴 매칭 지원

Closes #15

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:54:29 +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
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