JiWoong Sul 9beb161527 feat(pagination): 공통 컨트롤 도입과 사용자 관리 가이드 추가
- 테이블 푸터에서 SuperportPaginationControls를 사용하도록 각 관리 페이지 페이지네이션 로직을 정리

- SuperportPaginationControls 위젯을 추가하고 SuperportTable 푸터를 개선해 페이지 사이즈 선택과 이동 버튼을 분리

- 사용자 등록·계정 관리 요구사항을 문서화한 doc/user_setting.md를 작성하고 AGENTS.md 코멘트 규칙을 업데이트

- flutter analyze를 수행해 빌드 경고가 없음을 확인
2025-10-24 16:24:02 +09:00

Superport v2

간단 입·출고 + 결재 시스템(웹) UI.

환경 설정

  1. 환경 파일 준비 (.env)

루트에 다음 파일을 생성하세요(예시 제공):

  • .env.development → 개발 환경
  • .env.production → 운영 환경

*.example 파일을 복사하여 값을 채우면 됩니다.

핵심 키:

  • API_BASE_URL — 백엔드 API 베이스 URL
  • FEATURE_* — 기능 플래그 (예: FEATURE_VENDORS_ENABLED)
  • FEATURE_APPROVALS_ENABLED — 기본값은 개발·운영 모두 true, 단 결재 백엔드가 준비되지 않았으면 .env.*에서 false로 내려 임시 비활성화한다.
  • FEATURE_STOCK_TRANSITIONS_ENABLED — 재고 상태 전이(상신/승인/취소) 버튼 노출 제어. 운영 환경은 백엔드 배포 전까지 false로 유지하고, 개발 환경에서만 필요 시 true로 전환한다.
  1. 의존성 설치
flutter pub get
  1. 개발 실행 (웹)
flutter run -d chrome --web-renderer canvaskit --dart-define=ENV=development

API 연동

  • 모든 HTTP 호출은 ApiRoutes.apiV1(/api/v1) 프리픽스를 사용하며, Environment.initialize() 완료 후 ApiClient를 통해 수행한다.
  • 현재 연동된 주요 리소스
    • /customers, /vendors, /products, /uoms, /users, /groups, /menus, /group-menu-permissions
    • /warehouses, /transaction-types, /transaction-statuses, /approval-statuses, /approval-actions
    • /approvals, /approval-steps, /approval-templates, /approval-histories
    • /stock-transactions(lines/customers 포함), /reports/downloads
    • /zipcodes (우편번호 검색)
  • API 응답 실패는 Failure.describe()를 통해 토스트/다이얼로그로 노출되며, 필드 검증 오류와 일반 메시지를 자동 병합한다.

필수 환경 변수

  • ENVdevelopment/production 중 하나로 .env.<env> 파일을 선택
  • API_BASE_URL — 서버 베이스 URL (/api/v1 제외)
  • FEATURE_* — 도메인별 기능 플래그 (FEATURE_APPROVALS_ENABLED, FEATURE_PRODUCTS_ENABLED 등)
  • PERMISSION__<resource> — 권한 게이트에서 사용할 리소스별 액션 집합(예: PERMISSION__stock-transactions=read,submit,approve)

구조

  • lib/core/ — 공통 구성(환경, 네트워크, 라우팅)
  • lib/features/<domain>/ — 기능별 폴더 (clean architecture: domain/data/presentation)
  • lib/widgets/ — 공용 위젯

빌드/검증

  • flutter analyze — 정적 분석
  • flutter test — 단위/위젯 테스트
Description
No description provided
Readme 5.2 MiB
Languages
Dart 95.8%
C++ 2%
CMake 1.6%
Ruby 0.2%
Swift 0.2%
Other 0.1%