Skip to content

Repository files navigation

warehouse

Motor WMS reutilizable (dominio + persistencia) para Protección Civil y ayuda humanitaria — válido para cualquier sector. Gestión de almacén y logística de material: recepción, salida, traslados, kardex (libro mayor de movimientos), FEFO por caducidad, recuentos, reservas, contenedores (palet/caja/lote), capacidad de transporte y expediciones, y flota (vehículos como almacén móvil con capacidad de carga, manifiesto y kits de misión).

Son paquetes independientes que cualquiera puede embeber. Los consumen OpenDepot (la app WMS open-source de referencia) y ResponseGrid — y cualquier otro host. El HTTP, la auth y la UI los pone cada consumidor.

Estructura del monorepo

Paquete Qué es
packages/warehouse-core@globalemergency/warehouse-core Dominio puro (sin infraestructura): agregados, value objects y servicios. El motor.
packages/warehouse-postgres@globalemergency/warehouse-postgres Adaptador de persistencia Postgres/Drizzle: esquema wms., repos y migraciones.

Arquitectura

  • Dominio puro (warehouse-core): sin NestJS, sin Drizzle, sin red ni disco. La persistencia y el HTTP los pone cada host.
  • Tenencia opaca (ScopeId): el núcleo no conoce sectores; el host traduce su identidad de tenant (organización, emergencia, centro) a un ScopeId.
  • Hexagonal / DDD: puertos en el dominio, adaptadores en warehouse-postgres.

Desarrollo

pnpm install
pnpm build           # build dual CJS+ESM de los paquetes
pnpm test            # tests de dominio (node --test)
pnpm test:int        # tests de integración de persistencia (requiere Postgres)
pnpm typecheck

Los tests de integración usan un Postgres real vía TEST_DATABASE_URL.

Licencia

AGPL-3.0-only. Las obras derivadas —incluidos los despliegues en red/SaaS modificados— deben permanecer open source bajo la misma licencia.

About

Motor WMS reutilizable (dominio + persistencia) — @globalemergency/warehouse-*. Consumido por OpenDepot y ResponseGrid.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages