프로젝트 최초 커밋

This commit is contained in:
JiWoong Sul
2025-07-02 17:45:44 +09:00
commit e346f83c97
235 changed files with 23139 additions and 0 deletions

327
doc/development_log.md Normal file
View File

@@ -0,0 +1,327 @@
# supERPort ERP 개발일지
## 대화 1: 프로젝트 분석 및 계획
- **날짜**: 2025년 04월 16일
- **내용**:
- supERPort ERP 시스템의 요구사항 문서(PRD) 검토
- Flutter 기반 프론트엔드 구현 계획 수립
- 주요 기능 리뷰: 장비 입고/출고, 회사/사용자/라이센스 등록 관리
- Metronic Admin Template 스타일 가이드라인 확인
- 추천 디렉토리 구조 검토
## 대화 2: 프로젝트 디렉토리 구조 생성
- **날짜**: 2025년 04월 16일
- **내용**:
- PRD에 명시된 디렉토리 구조 구현
- 모델, 화면, 서비스, 유틸리티 디렉토리 생성
- 각 기능별 파일 구조 설계
## 대화 3: 모델 클래스 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 장비 관련 모델 구현:
- `EquipmentModel`: 공통 장비 정보
- `EquipmentInModel`: 장비 입고 정보
- `EquipmentOutModel`: 장비 출고 정보
- 회사 관련 모델 구현:
- `CompanyModel`: 회사 및 지점 정보
- 사용자 관련 모델 구현:
- `UserModel`: 사용자 정보 및 권한
- 라이센스 관련 모델 구현:
- `LicenseModel`: 유지보수 라이센스 정보
## 대화 4: 테마 및 공통 위젯 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 앱 테마 구현 (`AppTheme` 클래스)
- Metronic Admin 스타일 적용
- 색상 팔레트, 텍스트 스타일, 버튼 스타일 정의
- 공통 위젯 구현:
- `PageTitle`: 화면 상단 제목 및 추가 버튼
- `DataTableCard`: 데이터 테이블을 감싸는 카드 위젯
- `FormFieldWrapper`: 폼 필드 레이블 및 래퍼
- `DatePickerField`: 날짜 선택 필드
- `CategorySelectionField`: 대분류/중분류/소분류 선택 필드
## 대화 5: 모의 데이터 서비스 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- `MockDataService` 클래스 구현
- 모의 데이터 생성 및 관리 기능:
- 장비 입고/출고 데이터 관리
- 회사 데이터 관리
- 사용자 데이터 관리
- 라이센스 데이터 관리
- CRUD 작업 지원 (생성, 조회, 업데이트, 삭제)
## 대화 6: 장비 입고 화면 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 장비 입고 목록 화면 구현:
- 데이터 테이블로 입고 장비 목록 표시
- 추가, 수정, 삭제 기능 구현
- 장비 입고 폼 화면 구현:
- 제조사명, 장비명, 분류 정보 입력
- 시리얼 넘버, 바코드, 물품 수량 입력
- 입고일 선택
- 폼 유효성 검사
## 대화 7: 장비 출고 화면 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 장비 출고 목록 화면 구현:
- 데이터 테이블로 출고 장비 목록 표시
- 추가, 수정, 삭제 기능 구현
- 장비 출고 폼 화면 구현:
- 장비명, 분류 정보 선택
- 시리얼 넘버, 바코드 입력
- 출고 수량, 출고일 입력
- 폼 유효성 검사
## 대화 8: 메인 화면 및 라우팅 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 메인 애플리케이션 파일(`main.dart`) 구현
- 홈 화면 구현:
- 주요 기능 바로가기 카드 메뉴 (그리드 레이아웃)
- 라우팅 설정:
- 각 화면에 대한 라우트 정의
- 인자 전달 처리 (수정 화면용 ID 등)
## 대화 9: 상수 및 유효성 검사 유틸리티 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 상수 관리 파일 구현:
- 라우트 경로 상수
- 장비 상태 상수
- 사용자 역할 상수
- 유효성 검사 함수 구현:
- 필수 입력값 검사
- 숫자 입력값 검사
- 전화번호 형식 검사
## 대화 10: 회사 관리 화면 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 회사 목록 화면 구현:
- 데이터 테이블로 회사 목록 표시
- 회사명, 주소, 지점 수 표시
- 추가, 수정, 삭제 기능 구현
- 회사 등록/수정 폼 구현:
- 회사명, 주소 입력
- 지점 정보 관리 (추가, 수정, 삭제)
- 지점 정보 입력 (지점명, 주소, 전화번호)
- 폼 유효성 검사
## 대화 11: 사용자 관리 화면 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 사용자 목록 화면 구현:
- 데이터 테이블로 사용자 목록 표시
- 이름, 소속 회사, 권한 정보 표시
- 추가, 수정, 삭제 기능 구현
- 사용자 등록/수정 폼 구현:
- 이름 입력
- 소속 회사 선택 (드롭다운)
- 권한 선택 (라디오 버튼: 관리자/일반 사용자)
- 폼 유효성 검사
## 대화 12: 라이센스 관리 화면 구현
- **날짜**: 2025년 04월 16일
- **내용**:
- 라이센스 목록 화면 구현:
- 데이터 테이블로 라이센스 목록 표시
- 라이센스명, 회사, 기간, 방문 주기 표시
- 추가, 수정, 삭제 기능 구현
- 라이센스 등록/수정 폼 구현:
- 라이센스명 입력
- 회사 선택 (드롭다운)
- 라이센스 기간, 방문 주기 입력
- 폼 유효성 검사
## 대화 13: 카테고리 선택 위젯 수정
- **날짜**: 2025년 04월 16일
- **내용**:
- `CategorySelectionField` 위젯의 오류 수정
- 타입 처리 개선 및 조건문 명확화
- 카테고리/서브카테고리 선택 로직 개선
## 대화 14: 프로젝트 완성 및 최종 점검
- **날짜**: 2025년 04월 16일
- **내용**:
- 모든 화면 구현 완료 확인:
- 장비 입고/출고 관리
- 회사 관리
- 사용자 관리
- 라이센스 관리
- 기능 점검:
- 각 화면 간 이동 및 데이터 전달
- 등록/수정/삭제 기능
- 유효성 검사
- UI/UX 최종 점검:
- 메트로닉 스타일 적용 확인
- 반응형 레이아웃 확인
- 사용성 검토
## 대화 15: Metronic 테일윈드 디자인 적용
- **날짜**: 2025년 04월 17일
- **내용**:
- Metronic Admin 테일윈드 버전 (데모6) 디자인 분석
- 테일윈드 CSS 기반으로 테마 시스템 재구성
- 새로운 테마 파일 생성: `theme_tailwind.dart`
- 기존 Material 테마에서 테일윈드 스타일로 변경
- Metronic의 색상 팔레트와 그림자 효과 적용
## 대화 16: 공통 레이아웃 컴포넌트 개발
- **날짜**: 2025년 04월 17일
- **내용**:
- Metronic 스타일의 레이아웃 컴포넌트 구현: `layout_components.dart`
- 공통 UI 컴포넌트 개발:
- `MetronicPageContainer`: 페이지 기본 레이아웃
- `MetronicCard`: 카드 컴포넌트
- `MetronicStatsCard`: 통계 카드 컴포넌트
- `MetronicPageTitle`: 페이지 제목 컴포넌트
- `MetronicDataTable`: 데이터 테이블 컴포넌트
- `MetronicFormField`: 폼 필드 래퍼 컴포넌트
- `MetronicTabContainer`: 탭 컨테이너 컴포넌트
- 전체 UI 일관성 향상을 위한 컴포넌트 표준화
## 대화 17: 오버뷰 대시보드 화면 구현
- **날짜**: 2025년 04월 17일
- **내용**:
- 오버뷰 화면 개발: `overview_screen.dart`
- 기능 구현:
- 환영 카드 섹션 개발
- 통계 카드 그리드 레이아웃 구현
- 시스템 활동 차트 영역 개발 (차트 플레이스홀더)
- 최근 활동, 알림, 예정된 작업 탭 구현
- 장비 입출고 통계 및 추이 표시
- Metronic 데모6 스타일 적용
- 홈 화면을 오버뷰 대시보드로 변경
## 대화 18: 메인 파일 업데이트 및 테마 적용
- **날짜**: 2025년 04월 17일
- **내용**:
- `main.dart` 파일 수정
- 테일윈드 테마 적용으로 변경: `AppThemeTailwind.lightTheme`
- 홈 화면을 기존 메뉴 그리드에서 오버뷰 대시보드로 변경
- 불필요한 HomeScreen 클래스 제거
- 라우트 설정 업데이트
- 모든 화면이 통일된 디자인 시스템 적용
## 대화 19: 좌측 사이드바 메뉴 구현 및 레이아웃 개선
- **날짜**: 2025년 04월 18일
- **내용**:
- Metronic 테일윈드 데모6 스타일의 사이드바 메뉴 구현
- 좌측에 메인 메뉴를 배치하는 레이아웃 구조 변경
- `SidebarMenu` 클래스 개발:
- 메뉴 계층 구조 지원 (접는/펼치는 기능)
- 활성 메뉴 시각적 표시
- 메뉴 항목별 아이콘 및 스타일 적용
- `MainLayout` 컴포넌트 구현:
- 좌측 사이드바와 우측 컨텐츠 영역 구성
- 커스텀 앱바 디자인 적용
- 모든 화면에 일관된 레이아웃 제공
- 오버뷰 화면을 새 레이아웃에 통합
- 메뉴 항목:
- 대시보드
- 장비 관리 (하위 메뉴: 장비 입고, 장비 출고)
- 회사 관리
- 사용자 관리
- 라이센스 관리
## 대화 20: 대시보드 인터페이스 개선
- **날짜**: 2025년 04월 19일
- **내용**:
- 대시보드 화면 UI 개선:
- 불필요한 환영 메시지 컴포넌트 제거
- 통계 카드 디자인 최적화
- MetronicStatsCard 컴포넌트 높이 축소 (여백 및 폰트 크기 조정)
- 통계 카드 레이아웃 비율 조정 (childAspectRatio 적용)
- 헤더 인터페이스 일관성 향상:
- 사이드바 헤더와 메인 헤더의 높이 일치 (72px로 통일)
- 브랜드 로고 및 앱 타이틀 정렬 개선
- 헤더 패딩 및 여백 최적화
- 전체적인 레이아웃 조화 개선
- 상단 네비게이션 영역 수직 정렬 통일
- 컴포넌트 간 일관된 간격 적용
## 대화 21: 대시보드 레이아웃 균형 개선
- **날짜**: 2025년 04월 19일
- **내용**:
- 대시보드 레이아웃의 일관성 향상:
- '시스템 활동'과 '최근 활동' 위젯 간의 간격을 표준화 (24px로 통일)
- 최근 활동 섹션의 불필요한 중첩 레이아웃 제거 및 단순화
- 위젯 간 상하 간격 일관성 확보로 시각적 조화 개선
- UI 요소 정리 및 최적화
- SizedBox 고정 높이 제한 제거로 컨텐츠에 따른 자연스러운 크기 조정
- 중복 컨테이너 래핑 최소화로 레이아웃 성능 향상
## 대화 22: 대시보드 UI 간격 표준화
- **날짜**: 2025년 04월 19일
- **내용**:
- 대시보드 화면의 모든 위젯 간 상하 간격 표준화:
- 주요 섹션 간 간격: 24px로 통일 (통계 그리드, 시스템 활동, 최근 활동)
- 섹션 내부 요소 간 간격: 16px로 통일
- 활동 차트 내부, 활동 레전드, 최근 활동 리스트 등의 간격 조정
- 컴포넌트 레이아웃 개선:
- 시스템 활동 카드에 하단 여백 추가
- 최근 활동 섹션에 상하 여백 추가
- 마지막 아이템 이후 불필요한 구분선 제거
- 전체적인 시각적 일관성 향상
- 모든 간격을 8px 단위의 배수로 설정 (8, 16, 24)
- 컴포넌트 내부 구성요소 간 관계성 강화
## 대화 23: 대시보드 UI 간격 미세 조정
- **날짜**: 2025년 04월 19일
- **내용**:
- 대시보드 화면의 동일한 위젯 간 간격 문제 해결:
- MetronicCard 컴포넌트에 내장된 하단 마진(bottom: 16) 제거
- 마진 속성을 컴포넌트 매개변수로 제공하여 외부에서 조정 가능하도록 개선
- 각 카드의 시각적 간격 정확히 통일 (24px)
- 컴포넌트 아키텍처 개선:
- 중첩 스타일 속성을 통일하여 일관된 시각적 경험 제공
- 레이아웃 컴포넌트의 유연성 향상
- 다양한 화면에서 재사용 가능한 컴포넌트 설계
## 대화 24: 일관된 인터페이스를 위한 사이드바 메뉴 통합
- **날짜**: 2025년 04월 20일
- **내용**:
- 모든 주요 화면에 사이드바 메뉴 적용:
- 장비 입고 관리 화면에 MainLayout 적용
- 장비 출고 관리 화면에 MainLayout 적용
- 회사 관리 화면에 MainLayout 적용
- 사용자 관리 화면에 MainLayout 적용
- 라이센스 관리 화면에 MainLayout 적용
- 레이아웃 구조 개선:
- 모든 화면에 일관된 MainLayout 컴포넌트 적용
- 페이지별 적절한 currentRoute 값 설정으로 사이드바 메뉴 활성화 상태 관리
- 기존 Scaffold와 AppBar를 MainLayout으로 대체
- 사용자 경험 향상:
- 모든 화면에서 일관된 내비게이션 경험 제공
- 새로고침 및 추가 기능 버튼 통일
- 플로팅 액션 버튼을 통한 추가 기능 접근성 개선

0
doc/refac.md Normal file
View File

340
doc/superportPRD.md Normal file
View File

@@ -0,0 +1,340 @@
**아래 내용 전체를 복사해서** `superportPRD.md` **파일로 저장하시면 됩니다.**
---
# supERPort ERP - 초기 프론트엔드 PRD (Flutter)
본 문서는 Flutter로 제작할 ERP 웹/앱 프론트엔드의 최소 기능 요구사항과 디렉터리 구조, 스타일 가이드, 그리고 AI 코드 생성에 활용 가능한 프롬프트를 포함하고 있습니다. 현재 계획은 확장 가능하며, 추후 대화와 요구사항 변경에 따라 자동으로 업데이트할 수 있습니다.
## 1. 개요
- **이름**: supERPort
- **기술 스택**: Flutter
- **주요 화면**:
1. 장비 입고
2. 장비 출고
3. 회사 등록
4. 사용자 등록
5. 라이센스 등록
## 2. 공통 스타일 가이드
- **디자인 레퍼런스**: [Metronic Admin Template](https://themeforest.net/item/metronic-responsive-admin-dashboard-template/4021469)
- **디자인 레퍼런스를 철저히 검토 및 적용**: Metronic의 Layout, 컬러 팔레트, 컴포넌트, 인터랙션 가이드라인을 꼼꼼하게 분석하여, Flutter 및 Material Icons와 조화롭게 적용해야 합니다.
- 하나의 화면에 중복되는 정보를 제공하지 않아야 합니다.
- **아이콘**: Material Icons
- **UI 기조**: 모던하고 직관적인 플랫 디자인, 적절한 그림자(Elevation)와 여백 사용
- **메인 컬러 예시**:
- Primary: #5867dd (Metronic 기본색)
- Secondary: #34bfa3
- Background: #f7f8fa
- **타이포그래피**: 가독성 높은 산세리프 폰트(예: Roboto, Noto Sans)
- **반응형 고려**: Web & Mobile 겸용, Responsive Layout 구성
## 3. 기능 요구사항
### 3.1 장비 입고 화면
- **등록 후 리스트로 관리**
- 새로운 장비 입고 기록을 추가 (Form)
- 등록된 목록을 리스트(테이블)로 보여주고, 항목별 Editing 기능 제공
- **필수 데이터**
1. **제조사명** (varchar 필수)
2. **장비명** (varchar 필수)
3. **대분류 / 중분류 / 소분류** (varchar, Email 선택 UI 유사 방식)
4. **시리얼 넘버** (varchar)
5. **바코드 입력** (varchar, 차후에 바코드 스캔 기능과 연동 예정)
6. **물품 수** (int 필수)
- 시리얼 번호가 존재할 경우 1 고정 및 수정 불가
- 시리얼 번호가 없으면 직접 입력
7. **입고일** (datetime)
- 당일 날짜를 기본값으로 설정
- 캘린더에서 과거 날짜만 선택 가능
8. (DB 연계 시) **장비(장비이력) 테이블**과 매핑
- **입출고**는 “I”(입고)로 기록
- **발생시간**: 입고 시점(= 입고일)
### 3.2 장비 출고 화면
- **등록 후 리스트로 관리**
- 새 출고 정보 등록 (Form)
- 출고 기록 목록 표시 및 편집 기능
- **필수 데이터**
1. **장비명** (varchar 필수)
2. **대분류 / 중분류 / 소분류** (출고 시점에 불러오고 수정 가능 여부는 정책 결정)
3. **시리얼 넘버** (varchar)
4. **바코드** (varchar, 바코드 스캔 기능 연동 예정)
5. **출고 수량** (int 필수)
6. **출고일** (datetime)
7. (DB 연계 시) **장비(장비이력) 테이블**과 매핑
- **입출고**는 “O”(출고)로 기록
- **발생시간**: 출고 시점(= 출고일)
### 3.3 회사 등록 화면
- **등록 후 리스트로 관리**
- 새 회사 정보 등록 (Form)
- 회사 목록 조회 및 편집
- **필수 데이터**
1. **회사명** (varchar 필수)
2. **주소** (varchar)
3. (확장) **지점 정보** (Optional / 별도 화면 구성 가능)
- 지점명 (varchar)
- 대표전화번호 (varchar)
- 주소 (varchar)
4. (DB 연계 시) **고객(회사) / 고객(지점)** 테이블 매핑
- 회사 ID, 지점 ID 등 Primary Key, FK 관계
### 3.4 사용자 등록 화면
- **등록 후 리스트로 관리**
- 사용자(직원) 가입/등록 Form
- 사용자 목록 조회 및 편집
- **필수 데이터**
1. **이름** (varchar 필수)
2. **소속 회사ID** (int)
3. **관리등급** (char) 예) S(관리자), M(멤버)
4. (DB 연계 시) **서비스(직원)** 테이블 매핑
### 3.5 라이센스 등록 화면
- **등록 후 리스트로 관리**
- 유지보수 라이센스 정보 등록 (Form)
- 등록된 라이센스 목록 표시 및 편집
- **필수 데이터**
1. **서비스(회사)ID** (int) 라이센스가 적용될 회사/서비스 정보
2. **라이센스명** (varchar, 예: “1년 유지보수”)
3. **라이센스기간** (int, 월 단위)
4. **방문주기** (int, 유지보수 방문 주기)
5. (DB 연계 시) **유지(라이센스)** 테이블과 매핑
## 4. 추천 디렉터리 구조
동일한 기능을 담은 모듈(파일)이 300라인을 초과하게 될 경우, **하위 파일로 분리**해 관리하는 것을 권장합니다.
장비(Equipment) 모델과 장비 입고(In) / 출고(Out) 모델을 **분리**하여, 공통 필드와 입·출고 전용 필드를 구분해 유지보수를 용이하게 합니다.
lib/
┣ models/
┃ ┣ equipment_model.dart (장비(Equipment) 공통 모델)
┃ ┣ equipment_in_model.dart (장비 입고 관련 모델, 장비 + 입고 필드)
┃ ┣ equipment_out_model.dart (장비 출고 관련 모델, 장비 + 출고 필드)
┃ ┣ company_model.dart (회사 정보 모델)
┃ ┣ user_model.dart (사용자 정보 모델)
┃ ┗ license_model.dart (유지보수 라이센스 정보 모델)
┣ screens/
┃ ┣ equipment_in/
┃ ┃ ┣ equipment_in_list.dart (장비 입고 리스트 화면)
┃ ┃ ┗ equipment_in_form.dart (장비 입고 등록/수정 폼)
┃ ┣ equipment_out/
┃ ┃ ┣ equipment_out_list.dart (장비 출고 리스트 화면)
┃ ┃ ┗ equipment_out_form.dart (장비 출고 등록/수정 폼)
┃ ┣ company/
┃ ┃ ┣ company_list.dart (회사 목록 화면)
┃ ┃ ┗ company_form.dart (회사 등록/수정 폼)
┃ ┣ user/
┃ ┃ ┣ user_list.dart (사용자 목록 화면)
┃ ┃ ┗ user_form.dart (사용자 등록/수정 폼)
┃ ┣ license/
┃ ┃ ┣ license_list.dart (라이센스 목록 화면)
┃ ┃ ┗ license_form.dart (라이센스 등록/수정 폼)
┃ ┗ common/
┃ ┣ custom_widgets.dart (공통 위젯)
┃ ┗ theme.dart (스타일, 테마 정보)
┣ services/
┃ ┗ mock_data_service.dart (서버 없는 샘플 데이터 관리)
┣ utils/
┃ ┣ validators.dart (입력값 검증 함수)
┃ ┗ constants.dart (상수 관리, 예: 라우트명, 컬러코드)
┗ main.dart
## 5. 데이터베이스 설계
아래는 장비, 회사(고객), 서비스(직원/결제), 유지보수 라이센스 등에 대한 **예시** 테이블입니다. 실제 구현 시에는 필요에 따라 테이블을 통합하거나 컬럼명을 조정할 수 있습니다.
### 5.1 고객 관련 테이블
|테이블명|필드명|타입|예시|비고|
|---|---|---|---|---|
|고객(회사)|ID|Integer|1|Primary Key|
||회사명|Varchar|LG전자|고객 회사명|
||주소|Varchar|서울시 종로구|고객 회사 주소|
|고객(지점)|ID|Integer|10|Primary Key|
||회사ID|Integer|1|FK - 고객(회사)|
||지점명|Varchar|본사|고객 지점명|
||주소|Varchar|서울시 종로구|지점 주소|
||대표전화번호|Varchar|02-3403-2222|지점 연락처|
### 5.2 서비스 관련 테이블
|테이블명|필드명|타입|예시|비고|
|---|---|---|---|---|
|서비스(직원)|ID|Integer|20|Primary Key|
||회사ID|Integer|1|FK - 서비스(회사) 또는 고객(회사)|
||이름|Varchar|홍길동|직원 이름|
||관리등급|Char|M|S(관리자)/M(멤버)|
|서비스(결제)|ID|Integer|30|Primary Key|
||서비스(직원)ID|Integer|20|FK - 서비스(직원)|
||결제여부|Char|A|승인(A)/반려(D)|
||결제일|Datetime|2025-03-04 11:00|결제 일시|
### 5.3 장비 관련 테이블
|테이블명|필드명|타입|예시|비고|
|---|---|---|---|---|
|장비(장비정보)|ID|Integer|50|Primary Key|
||장비(회사명)ID|Integer|1|FK - 장비(회사명) or 고객(회사)|
||장비명|Varchar|라우터 123|장비 모델명|
|장비(장비이력)|ID|Integer|60|Primary Key|
||장비(장비바코드)ID|Integer|50|FK - 장비(장비바코드)|
||입출고|Varchar|I|입고(I)/출고(O)/임대(R) 등 구분|
||발생시간|Datetime|2025-03-04 11:00|이력 발생 시간|
### 5.4 유지보수 라이센스 관련 테이블
|테이블명|필드명|타입|예시|비고|
|---|---|---|---|---|
|유지(라이센스)|ID|Integer|70|Primary Key|
||서비스(회사)ID|Integer|1|FK - 서비스(회사)|
||라이센스명|Varchar|1년 유지보수|유지보수 라이센스명|
||라이센스기간|Integer|12|월 단위|
||방문주기|Integer|1|유지보수 방문 주기|
> 위 테이블들은 예시이며, 실제 구현 시에는 **API 요청/응답 형식**과 **화면 요구사항**에 따라 컬럼을 추가/수정/제거할 수 있습니다.
## 6. 코드 생성용 AI 프롬프트 예시
(아래 텍스트는 코드 자동생성용 프롬프트 작성 예시일 뿐, 실제 환경에 맞춰 수정해서 사용하세요.)
[System]
You are Claude, a large language model trained by Anthropic.
[User]
read document "doc/doc name" at first.
- 앱 이름: supERPort
- 화면 개요: 장비 입고, 장비 출고, 회사 등록, 사용자 등록
- 참조 스타일: Metronic Admin + Material Icons
- 필수 폴더 구조와 기능
1. equipment_in (리스트 & 폼)
2. equipment_out (리스트 & 폼)
3. company (리스트 & 폼)
4. user (리스트 & 폼)
Generate Flutter code with the above requirements.
- Use a consistent coding style.
- Provide minimal working code example for each screen.
- Utilize Material Icons.
- Implement basic validation in the forms.
## 7. 추후 업데이트 사항
- 장비 출고 시 필수 데이터 상세
- 회사 등록/사용자 등록 시 필수 데이터 구조 정의 (지점 정보, 연락처 등 확장)
- Form 유효성 검사 규칙 세부화
- 권한(관리자/사용자)별 접근 제어
- 바코드 스캔 기능 연동
- API 연동 및 서버 연결
- **유지보수 라이센스** 관련 화면 및 기능 확대 (결제/계약 기간 연동 등)
---
본 문서는 ERP 플랫폼 “supERPort”의 Flutter 프론트엔드 개발에 필요한 **최소 요구사항**, **디렉터리 구조**, **스타일 가이드**, 그리고 **데이터베이스 설계** 정보를 담고 있습니다. 여기서 정의되지 않은 사항은 추후 대화에서 확정된 후 문서에 자동 반영될 예정입니다. 필요에 따라 Markdown 형식으로 다운로드해, 버전 관리 시스템에 추가하거나 직접 열람할 수 있습니다.