Sobre el proyecto

HotWax Commerce Fulfillment es una aplicación web progresiva (PWA) para que los equipos de tiendas y almacenes realicen operaciones de cumplimiento de pedidos. Su nombre de repositorio lógico es Fulfillment, y su propósito comercial declarado es permitir que las organizaciones envíen pedidos de clientes y muevan inventario de manera eficiente. Las responsabilidades principales incluyen localizar pedidos abiertos, crear listas de picking, seleccionar y escanear artículos, empacar envíos, generar etiquetas y enviar pedidos. También procesa órdenes de transferencia entre instalaciones, incluyendo la selección, el envío y el rechazo de las mismas. Las operaciones de transporte y envío cubren métodos de envío de transportistas, etiquetas de seguimiento y albaranes de embalaje. La aplicación maneja casos de inventario y excepciones, como artículos no cumplibles, rechazos y actualizaciones de estado de pedidos, y resuelve permisos de usuario, instalaciones y contexto de tienda de productos para el trabajo de cumplimiento. Los flujos de trabajo documentados comienzan con pedidos abiertos hasta el picking: construcción de colas de pedidos basadas en Solr, creación de listas de picking o olas, y escaneo de artículos para actualizar las cantidades seleccionadas antes del embalaje y envío. El embalaje y envío generan albaranes de embalaje, etiquetas de envío y códigos de seguimiento, y actualizan el estado del envío de aprobado a empacado a enviado. Los flujos de órdenes de transferencia recuperan órdenes de transferencia, escanean artículos, crean envíos salientes y capturan razones de rechazo cuando el inventario no es cumplible. El soporte de impresión y dispositivo cubre listas de picking, albaranes de embalaje y etiquetas, incluyendo flujos de impresoras Zebra. La pila tecnológica es Vue 3, Ionic Vue, Vue Router, Pinia y TypeScript, empaquetado como una aplicación móvil/PWA con Capacitor, herramientas de PWA de Ionic y service workers. Las dependencias de plataforma y utilidad incluyen el cliente de API de HotWax OMS (@hotwax/oms-api), componentes de HotWax DXP, Firebase y el tiempo de ejecución de Module Federation. El mapa de dependencias conecta los servicios de HotWax OMS / Maarg para pedidos, envíos, listas de picking y contexto de instalación/usuario; la búsqueda basada en Solr para pedidos abiertos y colas de cumplimiento; servicios de documentos para imprimir listas de picking, albaranes de embalaje, etiquetas de envío y documentos personalizados; Firebase para notificaciones y alojamiento de entrada remota; e integración de impresoras Zebra. La aplicación se desarrolla y ejecuta desde el espacio de trabajo pnpm de accxui en lugar de desde su propia carpeta. Para ejecutarla localmente, coloca la aplicación en apps/fulfillment dentro de un checkout de accxui, copia .env.example a .env y establece los valores requeridos, luego ejecuta pnpm install desde la raíz de accxui y comienza con pnpm --filter fulfillment dev. Los requisitos previos son Node v22.12.0 o superior y pnpm. La configuración del entorno incluye VITE_BASE_URL para llamadas a la API de OMS, VITE_LOGIN_URL para el inicio de sesión de HotWax Launchpad, VITE_APP_VERSION_CONFIG para el alojamiento de aplicaciones de múltiples versiones (requerido para que se cargue la configuración de Vite), VITE_FIREBASE_CONFIG y VITE_FIREBASE_VAPID_KEY para notificaciones, VITE_REMOTE_ENTRY para extensiones de federación de módulos, y VITE_DEFAULT_PRODUCT_STORE_SETTINGS para banderas de cumplimiento de nivel de tienda por defecto. Las notas de construcción para usuarios y colaboradores utilizan el espacio de trabajo de accxui, con la ruta del colaborador agregando un git clone en apps/fulfillment y un comando de construcción pnpm --filter fulfillment build. Las pautas de contribución piden a los colaboradores que bifurquen y clonen la rama principal, elijan un problema, utilicen el nombre de rama como fulfillment-pwa/issue-number, incluyan el número de problema en los mensajes de commit y envíen un PR a main con la plantilla proporcionada. Se distinguen los informes de errores y las solicitudes de funciones, y las preguntas de soporte o configuración se dirigen a canales especificados. Los recursos de UI/UX incluyen un archivo de la comunidad de Figma, y las preguntas de la comunidad pueden ir al canal de Discord del proyecto. La aplicación se publica bajo la Licencia Apache v2.0. Las pautas de automatización de Playwright describen la instalación de navegadores con npx playwright install, la ejecución de pruebas con comandos como npx playwright test, npx playwright test tests/login.spec.js, npx playwright test --headed, npx playwright test --project=chromium y npx playwright test --debug, y luego la visualización de informes con npx playwright show-report.