- 디자인 시스템 가이드 문서 11개 생성 (docs/design/)
- CSS 변수 토큰 시스템 (@theme + :root/.dark 전환)
- cn() 유틸리티 (clsx + tailwind-merge)
- Button/Badge 공통 컴포넌트 (variant/size, 다크모드 대응)
- 하드코딩 Tailwind 색상 → CSS 변수 토큰 리팩토링 (30개 파일)
- 차트 팔레트 다크모드 색상 업데이트 (CHART_COLORS_HEX)
- 버튼 다크모드 채도/대비 강화 (primary-600 기반)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- API 신청함(BasketContext) + 플로팅 패널 구현
- ApiKeyRequestModal 공통 컴포넌트 추출 (API 선택 트리 포함)
- 신청함 도메인별 분류 + 라벨 표시
- 도메인 상세 담기/빼기 버튼 스타일 통일
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- API HUB 상세 화면에 API 사용 신청 모달 추가
- 모달 내 도메인 기반 체크박스 트리로 API 선택
- KeyRequestPage API 선택: 서비스 기반 → 도메인 기반 변경
- API 행에서 Path/Method 제거, API명만 표시
- 도메인 정렬순서 카탈로그(sortOrder) 기준으로 통일
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
서비스 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>
공통:
- 다크/라이트 모드 (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>
백엔드:
- AES-256-GCM 암호화 (ApiKey 생성/복호화 조회)
- API Key 직접 생성 (ADMIN) + 신청→승인/반려 워크플로우
- 신청 필드 추가 (사용기간, 서비스IP, 서비스용도, 예상요청량)
- Permission CRUD (bulk delete+recreate, @Modifying JPQL)
- API Key 폐기, expires_at 자동 설정
- ErrorCode 5개 추가
프론트엔드:
- MyKeysPage: 키 목록, 상태 배지, 폐기, raw key 모달
- KeyRequestPage: 기간 프리셋/직접선택 토글, 서비스IP, 용도, 예상요청량, API 체크박스
- KeyAdminPage: 신청 검토(필드 노출+기간 조정) + 키 관리(복호화 조회, 권한 편집)
Closes#8
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>