feat: 대시보드에 라이선스 만료 요약 및 Lookup 데이터 캐싱 시스템 구현
- License Expiry Summary API 연동 완료 - 30/60/90일 내 만료 예정 라이선스 요약 표시 - 대시보드 상단에 알림 카드로 통합 - 만료 임박 순서로 색상 구분 (빨강/주황/노랑) - Lookup 데이터 전역 캐싱 시스템 구축 - LookupService 및 RemoteDataSource 생성 - 전체 lookup 데이터 일괄 로드 및 캐싱 - 타입별 필터링 지원 - 새로운 모델 추가 - LicenseExpirySummary (Freezed) - LookupData, LookupCategory, LookupItem 모델 - CLAUDE.md 문서 업데이트 - 미사용 API 활용 계획 추가 - 구현 우선순위 정의 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
60
CLAUDE.md
60
CLAUDE.md
@@ -118,6 +118,58 @@ Infrastructure:
|
||||
priority: LOW
|
||||
```
|
||||
|
||||
## 🔌 Unused Backend API Integration Plan
|
||||
|
||||
### 현재 백엔드에 구현되었으나 프론트엔드에서 미사용 중인 API
|
||||
|
||||
#### 1. `/overview/license-expiry` - 라이선스 만료 요약
|
||||
**용도**: 30일/60일/90일 내 만료 예정인 라이선스 요약 정보 제공
|
||||
**활용 계획**:
|
||||
- **위치**: Dashboard 화면 상단 알림 배너
|
||||
- **구현 방법**:
|
||||
- 만료 임박 라이선스 카운트를 배지로 표시
|
||||
- 클릭 시 상세 라이선스 목록으로 이동
|
||||
- 관리자/매니저 권한일 때만 표시
|
||||
- **예상 효과**: 라이선스 갱신 누락 방지, 사전 대응 가능
|
||||
|
||||
#### 2. `/lookups` - 전체 조회 데이터
|
||||
**용도**: 시스템 전체 드롭다운/셀렉트 박스용 마스터 데이터 제공
|
||||
**활용 계획**:
|
||||
- **위치**: 앱 초기화 시 한 번 호출하여 캐싱
|
||||
- **구현 방법**:
|
||||
- `LookupService` 생성하여 전역 상태 관리
|
||||
- 장비 타입, 상태 코드, 제조사 목록 등 일괄 관리
|
||||
- 각 화면에서 개별 API 호출 대신 캐시된 데이터 사용
|
||||
- **예상 효과**: API 호출 횟수 감소, 응답 속도 향상
|
||||
|
||||
#### 3. `/lookups/type` - 타입별 조회 데이터
|
||||
**용도**: 특정 타입의 조회 데이터만 선택적으로 가져오기
|
||||
**활용 계획**:
|
||||
- **위치**: 대량 데이터 입력 화면 (장비 일괄 등록, Excel 임포트)
|
||||
- **구현 방법**:
|
||||
- 필요한 타입만 선택적으로 로드
|
||||
- 동적 폼 생성 시 활용
|
||||
- 타입별 유효성 검증 규칙 적용
|
||||
- **예상 효과**: 메모리 사용량 최적화, 동적 UI 구성 가능
|
||||
|
||||
#### 4. `/health` - 시스템 상태 체크
|
||||
**용도**: API 서버 상태 및 DB 연결 상태 확인
|
||||
**활용 계획**:
|
||||
- **위치**:
|
||||
- 로그인 화면 하단 (서버 상태 인디케이터)
|
||||
- 관리자 대시보드 (시스템 모니터링 위젯)
|
||||
- **구현 방법**:
|
||||
- 30초 간격 폴링으로 서버 상태 모니터링
|
||||
- 연결 실패 시 자동 재시도 및 사용자 알림
|
||||
- 서버 점검 시간 사전 공지 표시
|
||||
- **예상 효과**: 시스템 안정성 향상, 장애 조기 감지
|
||||
|
||||
### 구현 우선순위
|
||||
1. **Phase 1 (1주차)**: `/overview/license-expiry` - 대시보드 통합
|
||||
2. **Phase 2 (2주차)**: `/lookups` - 전역 캐싱 시스템 구축
|
||||
3. **Phase 3 (3주차)**: `/health` - 시스템 모니터링 구현
|
||||
4. **Phase 4 (4주차)**: `/lookups/type` - 동적 폼 시스템 구축
|
||||
|
||||
## 📋 TODO List
|
||||
|
||||
### Immediate (This Week)
|
||||
@@ -125,18 +177,22 @@ Infrastructure:
|
||||
- [ ] 대시보드 차트 구현 (Chart.js 통합)
|
||||
- [ ] 시리얼 번호 중복 체크 백엔드 구현
|
||||
- [ ] 권한 체크 누락 화면 수정
|
||||
- [ ] `/overview/license-expiry` API 연동 (대시보드 알림 배너)
|
||||
|
||||
### Short Term (This Month)
|
||||
- [ ] 장비 대여/반납 기능 구현
|
||||
- [ ] 고급 검색 필터 구현
|
||||
- [ ] Excel 내보내기 기능
|
||||
- [ ] 성능 최적화 (가상 스크롤링)
|
||||
- [ ] `/lookups` API 활용한 전역 캐싱 시스템 구축
|
||||
- [ ] `/health` API 활용한 서버 상태 모니터링
|
||||
|
||||
### Long Term
|
||||
- [ ] 모바일 앱 최적화
|
||||
- [ ] 푸시 알림 시스템
|
||||
- [ ] 다국어 지원 (영어)
|
||||
- [ ] 대시보드 커스터마이징
|
||||
- [ ] `/lookups/type` API 활용한 동적 폼 시스템
|
||||
|
||||
## 🔑 Key Decisions
|
||||
|
||||
@@ -194,5 +250,5 @@ API Source Code: /Users/maximilian.j.sul/Documents/flutter/superport_api
|
||||
|
||||
**Project Stage**: Development (70% Complete)
|
||||
**Next Milestone**: Beta Release (2025-02-01)
|
||||
**Last Updated**: 2025-01-08
|
||||
**Version**: 3.0
|
||||
**Last Updated**: 2025-01-09
|
||||
**Version**: 3.1
|
||||
Reference in New Issue
Block a user