Files
superport/.claude/project_analysis.md
JiWoong Sul e0bc5894b2 UI 전체 리디자인 및 개선사항 적용
## 주요 변경사항:

### UI/UX 개선
- shadcn/ui 스타일 기반의 새로운 디자인 시스템 도입
- 모든 주요 화면에 대한 리디자인 구현 완료
  - 로그인 화면: 모던한 카드 스타일 적용
  - 대시보드: 통계 카드와 차트를 활용한 개요 화면
  - 리스트 화면들: 일관된 테이블 디자인과 검색/필터 기능
- 다크모드 지원을 위한 테마 시스템 구축

### 기능 개선
- Equipment List: 고급 필터링 (상태, 담당자별)
- Company List: 검색 및 정렬 기능 강화
- User List: 역할별 필터링 추가
- License List: 만료일 기반 상태 표시
- Warehouse Location: 재고 수준 시각화

### 기술적 개선
- 재사용 가능한 컴포넌트 라이브러리 구축
- 일관된 코드 패턴 가이드라인 작성
- 프로젝트 구조 분석 및 문서화

### 문서화
- 프로젝트 분석 문서 추가
- UI 리디자인 진행 상황 문서
- 코드 패턴 가이드 작성
- Equipment 기능 격차 분석 및 구현 계획

### 삭제/리팩토링
- goods_list.dart 제거 (equipment_list로 통합)
- 불필요한 import 및 코드 정리

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 19:45:32 +09:00

166 lines
5.3 KiB
Markdown

# Superport Flutter 프로젝트 분석 보고서
## 1. 프로젝트 개요
### 기본 정보
- **프로젝트명**: superport (버전 0.1.0)
- **프레임워크**: Flutter (SDK ^3.7.2)
- **플랫폼**: Web, iOS, Android, macOS, Windows, Linux
- **주요 목적**: 장비 입출고 관리를 중심으로 한 ERP 시스템
### 현재 상태
- 기존 UI에서 shadcn/ui 스타일의 새로운 디자인으로 리디자인 진행 중
- 파일명 패턴: 기존 파일명 + `_redesign` 접미사
## 2. 프로젝트 구조
```
superport/
├── android/ # Android 플랫폼 빌드 설정
├── ios/ # iOS 플랫폼 빌드 설정
├── linux/ # Linux 플랫폼 빌드 설정
├── macos/ # macOS 플랫폼 빌드 설정
├── windows/ # Windows 플랫폼 빌드 설정
├── web/ # Web 플랫폼 빌드 설정
├── lib/ # Flutter 소스 코드
│ ├── models/ # 데이터 모델
│ ├── screens/ # 화면 구성
│ ├── services/ # 서비스 레이어
│ └── utils/ # 유틸리티
├── assets/ # 에셋 리소스
├── doc/ # 프로젝트 문서 (PRD 포함)
├── test/ # 테스트 코드 (현재 비어있음)
└── pubspec.yaml # 프로젝트 설정 및 의존성
```
## 3. 주요 의존성
| 패키지 | 버전 | 용도 |
|--------|------|------|
| flutter_localizations | SDK | 다국어 지원 (한국어/영어) |
| pdf | ^3.10.4 | PDF 생성 |
| printing | ^5.11.0 | 인쇄 기능 |
| provider | ^6.1.5 | 상태 관리 (현재 미사용) |
| wave | ^0.2.2 | 웨이브 애니메이션 |
| flutter_svg | ^2.0.10 | SVG 이미지 지원 |
| google_fonts | ^6.1.0 | Google Fonts 사용 |
## 4. 아키텍처 및 패턴
### 4.1 상태 관리
- **MVC 패턴의 변형** 사용
- Controller 클래스로 비즈니스 로직 분리
- `MockDataService` 싱글톤으로 데이터 관리
- 일부 ChangeNotifier 사용 (예: LoginController)
### 4.2 라우팅
- **Named Route** 방식
- `Routes` 클래스에 라우트 상수 정의
- `onGenerateRoute`를 통한 동적 라우팅
### 4.3 데이터 관리
- 현재 실제 API 없이 Mock 데이터 서비스 사용
- 모든 CRUD 작업을 메모리에서 처리
- 향후 실제 API 연동 시 서비스 레이어만 교체 예정
## 5. 주요 기능 및 화면
### 5.1 인증
- **로그인** (`/login`)
- 이메일/비밀번호 기반 인증
- Wave 애니메이션 배경
- 테스트 계정 지원
### 5.2 대시보드
- **Overview** (`/`)
- 통계 요약 (장비, 회사, 사용자, 라이센스)
- 최근 활동 내역
- 빠른 작업 버튼
### 5.3 장비 관리
- **장비 목록** (`/equipment`)
- 입고/출고/대여 상태 관리
- 검색 및 필터링
- 일괄 처리 기능
- **입고 관리** (`/equipment-in/add`)
- **출고 관리** (`/equipment-out/add`)
### 5.4 기타 관리 기능
- **회사 관리**: 고객사/공급업체, 본사/지점 관리
- **사용자 관리**: 직원 정보 및 권한 관리
- **라이센스 관리**: 소프트웨어 라이센스 추적
- **입고지 관리**: 장비 입고 위치 관리
## 6. UI/UX 디자인 시스템
### 6.1 기존 디자인
- Tailwind 스타일의 색상 체계
- Material Icons 사용
- Metronic 디자인 시스템 참고
- 단일 테마 (라이트 모드만)
### 6.2 새로운 디자인 (리디자인)
- **shadcn/ui 디자인 시스템** 도입
- **테마 시스템** (`theme_shadcn.dart`)
- 의미론적 색상 체계
- 일관된 타이포그래피 (Inter 폰트)
- 표준화된 간격 및 라운드 시스템
- **컴포넌트 라이브러리**
- ShadcnCard, ShadcnButton, ShadcnInput 등
- 재사용 가능한 표준 컴포넌트
- **레이아웃**
- Microsoft Dynamics 365 스타일
- 사이드바 접기/펼치기
- 브레드크럼 네비게이션
## 7. 현재 진행 상황
### 7.1 완료된 리디자인
- ✅ 테마 시스템 구축
- ✅ 공통 컴포넌트 라이브러리
- ✅ 앱 레이아웃
- ✅ 로그인 화면
- ✅ 대시보드
- ✅ 모든 리스트 화면 (회사, 장비, 사용자, 라이센스, 입고지)
### 7.2 남은 작업
- ⏳ Form 화면들의 리디자인
- ⏳ 다크 모드 지원
- ⏳ 반응형 디자인 개선
- ⏳ 실제 API 연동
- ⏳ 테스트 코드 작성
- ⏳ 국제화(i18n) 구현
## 8. 기술적 특이사항
1. **크로스 플랫폼**: 모든 주요 플랫폼 지원
2. **웹 중심 개발**: 데스크톱 웹 환경에 최적화
3. **모던 UI**: shadcn/ui 스타일의 현대적 디자인
4. **타입 안정성**: Dart의 강타입 시스템 활용
5. **컴포넌트 기반**: 재사용 가능한 위젯 아키텍처
## 9. 권장 개선사항
### 9.1 단기 개선
1. Form 화면 리디자인 완료
2. 입력 유효성 검사 강화
3. 로딩/에러 상태 UI 개선
4. 키보드 단축키 지원
### 9.2 중장기 개선
1. 실제 백엔드 API 연동
2. 단위/통합 테스트 추가
3. CI/CD 파이프라인 구축
4. 성능 모니터링 도입
5. 사용자 분석 도구 통합
## 10. 프로젝트 메타데이터
- **최초 커밋**: e346f83 (프로젝트 최초 커밋)
- **현재 브랜치**: main
- **Git 상태**: 다수의 수정 및 새 파일 존재
- **문서화**: PRD 문서 존재 (`doc/supERPort ERP PRD.md`)
---
*이 문서는 2025-07-07 기준으로 작성되었습니다.*