## 주요 변경사항: ### 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>
5.3 KiB
5.3 KiB
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 | 다국어 지원 (한국어/영어) |
| ^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. 기술적 특이사항
- 크로스 플랫폼: 모든 주요 플랫폼 지원
- 웹 중심 개발: 데스크톱 웹 환경에 최적화
- 모던 UI: shadcn/ui 스타일의 현대적 디자인
- 타입 안정성: Dart의 강타입 시스템 활용
- 컴포넌트 기반: 재사용 가능한 위젯 아키텍처
9. 권장 개선사항
9.1 단기 개선
- Form 화면 리디자인 완료
- 입력 유효성 검사 강화
- 로딩/에러 상태 UI 개선
- 키보드 단축키 지원
9.2 중장기 개선
- 실제 백엔드 API 연동
- 단위/통합 테스트 추가
- CI/CD 파이프라인 구축
- 성능 모니터링 도입
- 사용자 분석 도구 통합
10. 프로젝트 메타데이터
- 최초 커밋:
e346f83(프로젝트 최초 커밋) - 현재 브랜치: main
- Git 상태: 다수의 수정 및 새 파일 존재
- 문서화: PRD 문서 존재 (
doc/supERPort ERP PRD.md)
이 문서는 2025-07-07 기준으로 작성되었습니다.