Об этом проекте

HotWax Commerce Fulfillment — это прогрессивное веб-приложение (PWA), предназначенное для команд магазинов и складов, занимающихся операциями по исполнению заказов. Его логическое имя в репозитории — Fulfillment, а заявленная бизнес-цель — помочь организациям эффективно отправлять заказы клиентов и перемещать запасы. Основные обязанности включают поиск открытых заказов, создание списков сборки, сбор и сканирование товаров, упаковку отгрузок, генерацию этикеток и отправку заказов. Приложение также обрабатывает заказы на передачу между объектами, включая сборку, отправку и отклонение. Операции с перевозчиками и отгрузкой охватывают методы отгрузки перевозчиками, этикетки для отслеживания и упаковочные листы. Приложение обрабатывает запасы и исключительные случаи, такие как невыполнимые товары, отклонения и обновления статуса заказов, а также разрешает права пользователей, объекты и контекст магазина продуктов для работы по исполнению. Задокументированные рабочие процессы начинаются с открытых заказов и переходят к сборке: построение очередей заказов на основе Solr, создание списков сборки или волн и сканирование товаров для обновления собранных количеств перед упаковкой и отправкой. Процессы упаковки и отправки генерируют упаковочные листы, этикетки для отправки и коды отслеживания, а также обновляют статус отгрузки от одобренной до упакованной и отправленной. Потоки заказов на передачу извлекают заказы на передачу, сканируют товары, создают исходящие отгрузки и фиксируют причины отклонения, если запасы не могут быть выполнены. Поддержка печати и устройств охватывает списки сборки, упаковочные листы и этикетки, включая потоки для принтеров Zebra. Технологический стек включает Vue 3, Ionic Vue, Vue Router, Pinia и TypeScript, упакованный как мобильное/PWA-приложение с помощью Capacitor, инструментов Ionic PWA и сервисных работников. Зависимости платформы и утилит включают клиент API HotWax OMS (@hotwax/oms-api), компоненты HotWax DXP, Firebase и среду выполнения Module Federation. Карта зависимостей связывает сервисы HotWax OMS / Maarg для заказов, отгрузок, списков сборки и контекста объекта/пользователя; поиск на основе Solr для открытых заказов и очередей исполнения; службы документов для печати списков сборки, упаковочных листов, этикеток для отправки и пользовательских документов; Firebase для уведомлений и хостинга удаленных записей; и интеграцию с принтерами Zebra. Приложение разрабатывается и запускается из рабочего пространства accxui pnpm, а не из собственной папки. Для локального запуска поместите приложение в apps/fulfillment внутри копии accxui, скопируйте .env.example в .env и установите необходимые значения, затем выполните pnpm install из корня accxui и запустите с помощью pnpm --filter fulfillment dev. Предварительные требования — Node v22.12.0 или выше и pnpm. Конфигурация среды включает VITE_BASE_URL для вызовов API OMS, VITE_LOGIN_URL для входа в HotWax Launchpad, VITE_APP_VERSION_CONFIG для хостинга приложения с несколькими версиями (необходим для загрузки конфигурации Vite), VITE_FIREBASE_CONFIG и VITE_FIREBASE_VAPID_KEY для уведомлений, VITE_REMOTE_ENTRY для расширений module federation и VITE_DEFAULT_PRODUCT_STORE_SETTINGS для флагов исполнения по умолчанию на уровне магазина. Примечания по сборке для пользователей и участников используют рабочее пространство accxui, причем путь участника добавляет git clone в apps/fulfillment и команду сборки pnpm --filter fulfillment build. Руководство по вкладу просит участников разветвить и клонировать основную ветку, выбрать задачу, использовать именование ветки, например fulfillment-pwa/issue-number, включать номер задачи в сообщения коммитов и отправлять PR в main с помощью предоставленного шаблона. Отчеты об ошибках и запросы на новые функции различаются, а вопросы поддержки или настройки направляются в указанные каналы. Ресурсы по пользовательскому интерфейсу/опыту включают файл сообщества 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.