프로젝트 소개

HotWax Commerce Fulfillment은 매장 및 창고 팀이 주문 처리 작업을 수행하기 위한 프로그레시브 웹 앱(PWA)입니다. 논리적 저장소 이름은 Fulfillment이며, 조직이 고객 주문을 배송하고 재고를 효율적으로 이동할 수 있도록 하는 것이 사업 목적입니다. 핵심 책임에는 열린 주문 찾기, 피킹 리스트 생성, 품목 피킹 및 스캔, 배송 패킹, 라벨 생성, 주문 배송 등이 포함됩니다. 또한 시설 간 이전 주문을 처리하며, 피킹, 배송, 거절을 포함합니다. 운송업체 및 배송 작업은 운송업체 배송 방법, 추적 라벨, 패킹 슬립을 다룹니다. 앱은 재고 및 예외 상황(이행 불가능한 품목, 거절, 주문 상태 업데이트)을 처리하며, 사용자 권한, 시설, 제품 매장 컨텍스트를 해결하여 처리 작업을 수행합니다. 문서화된 워크플로우는 열린 주문부터 피킹까지 시작됩니다: Solr 기반 주문 큐 구축, 피킹 리스트 또는 웨이브 생성, 패킹 및 배송 전 피킹된 수량을 업데이트하기 위한 품목 스캔. 패킹 및 배송은 패킹 슬립, 배송 라벨, 추적 코드를 생성하고, 배송 상태를 승인에서 패킹, 배송으로 업데이트합니다. 이전 주문 흐름은 이전 주문을 검색하고, 품목을 스캔하고, 출고 배송을 생성하며, 재고가 이행 불가능할 경우 거절 이유를 기록합니다. 프린팅 및 장치 지원은 피킹 리스트, 패킹 슬립, 라벨(Zebra 프린터 흐름 포함)을 다룹니다. 기술 스택은 Vue 3, Ionic Vue, Vue Router, Pinia, TypeScript이며, Capacitor, Ionic PWA 도구, 서비스 워커로 모바일/PWA로 패키징되었습니다. 플랫폼 및 유틸리티 의존성은 HotWax OMS API 클라이언트(@hotwax/oms-api), HotWax DXP 컴포넌트, Firebase, 모듈 연합 런타임을 포함합니다. 의존성 맵은 주문, 배송, 피킹 리스트, 시설/사용자 컨텍스트를 위한 HotWax OMS / Maarg 서비스; 열린 주문 및 처리 큐를 위한 Solr 기반 검색; 피킹 리스트, 패킹 슬립, 배송 라벨, 사용자 정의 문서 프린팅을 위한 문서 서비스; 알림 및 원격 항목 호스팅을 위한 Firebase; Zebra 프린터 통합을 연결합니다. 앱은 자체 폴더가 아닌 accxui pnpm 워크스페이스에서 개발 및 실행됩니다. 로컬에서 실행하려면 apps/fulfillment에 앱을 배치하고, .env.example을 .env로 복사하여 필요한 값을 설정한 후, accxui 루트에서 pnpm install을 실행하고 pnpm --filter fulfillment dev로 시작합니다. 필수 조건은 Node v22.12.0 이상과 pnpm입니다. 환경 구성에는 OMS API 호출을 위한 VITE_BASE_URL, HotWax Launchpad 로그인을 위한 VITE_LOGIN_URL, 다중 버전 앱 호스팅을 위한 VITE_APP_VERSION_CONFIG(Vite 구성 로드에 필요), 알림을 위한 VITE_FIREBASE_CONFIG 및 VITE_FIREBASE_VAPID_KEY, 모듈 연합 확장을 위한 VITE_REMOTE_ENTRY, 기본 매장 수준 처리 플래그를 위한 VITE_DEFAULT_PRODUCT_STORE_SETTINGS이 포함됩니다. 사용자 및 기여자를 위한 빌드 노트는 모두 accxui 워크스페이스를 사용하며, 기여자는 apps/fulfillment에 git clone을 추가하고 pnpm --filter fulfillment build 명령을 사용합니다. 기여 가이드라인은 메인 브랜치를 포크하고 클론하고, 문제를 선택하고, fulfillment-pwa/issue-number와 같은 브랜치 이름을 사용하고, 커밋 메시지에 문제 번호를 포함하고, 제공된 템플릿으로 메인에 PR을 제출하도록 요청합니다. 버그 보고서와 기능 요청은 구분되며, 지원 또는 설정 질문은 지정된 채널로 보내야 합니다. UI/UX 리소스에는 Figma 커뮤니티 파일이 포함되며, 커뮤니티 질문은 프로젝트 Discord 채널로 보낼 수 있습니다. 앱은 Apache v2.0 라이선스로 배포됩니다. Playwright 자동화 가이드라인은 npx playwright install로 브라우저 설치, npx playwright test, npx playwright test tests/login.spec.js, npx playwright test --headed, npx playwright test --project=chromium, npx playwright test --debug와 같은 명령으로 테스트 실행, npx playwright show-report로 보고서 확인을 설명합니다.