このプロジェクトについて

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、Module Federationランタイムが含まれます。依存関係マップは、注文、出荷、ピッキングリスト、施設/ユーザーコンテキストのためのHotWax OMS / Maargサービス;未処理の注文とフルフィルメントキューのためのSolrベースの検索;ピッキングリスト、パッキングスリップ、出荷ラベル、カスタムドキュメントの印刷のためのドキュメントサービス;通知とリモートエントリーホスティングのためのFirebase;Zebraプリンターの統合を接続しています。 アプリは、独自のフォルダではなく、accxui pnpmワークスペースから開発および実行されます。ローカルで実行するには、アプリをaccxuiチェックアウト内の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 configの読み込みに必要)、通知のための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でレポートを表示することを説明しています。