Files
superport/doc/development_log.md
2025-07-02 17:45:44 +09:00

12 KiB

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으로 대체
    • 사용자 경험 향상:
      • 모든 화면에서 일관된 내비게이션 경험 제공
      • 새로고침 및 추가 기능 버튼 통일
      • 플로팅 액션 버튼을 통한 추가 기능 접근성 개선