Visión general
NexLog OS funciona sobre Fastify (API), MongoDB (persistencia canónica) y Angular (panel operativo). Es multi-tenant, con tenants y roles granulares, y event-driven: cada operación genera businessEvents con correlationId y causationId, registrados en el eventLedger.
Sobre ese núcleo están el MDM unificado, la autorización por atributo (ABAC), la arquitectura Zero Trust, la observabilidad y las interfaces especializadas, todas headless sobre la misma API.
Stack técnico
| Componente | Función | Descripción |
|---|---|---|
| Fastify | API | Framework Node.js de alto rendimiento: bajo overhead por solicitud, plugins tipados y hooks robustos. |
| MongoDB | Persistencia canónica | Colecciones en camelCase, índices por tenant y agregaciones tipadas; TTL para businessEvents y replica set multirregión. |
| Angular | Panel operativo | Planning Console unificado, con módulos para WMS, TMS, OMS, YMS y Control Tower. |
| Event-driven | Núcleo | businessEvents con correlationId y causationId; eventLedger central, replay, auditoría e integración asíncrona. |
| MDM unificado | Datos maestros | Product, Party, Asset, Location y Document Master compartidos, sin duplicación entre módulos. |
| ABAC y Zero Trust | Seguridad | Autorización por atributo, identidad federada y ningún perímetro de confianza: cada solicitud se valida de forma independiente. |
Multi-tenant y roles
Cada cliente es un tenant (tenants) aislado en la plataforma. Los roles son valores del enum de roles, en UPPER_SNAKE_CASE.
| Rol | Alcance | Uso típico |
|---|---|---|
SUPER_ADMIN | Plataforma | Ingeniería de CCX, no visible para el cliente. |
TENANT_OWNER | Tenant | Ejecutivo dueño de la cuenta; control total sobre el tenant. |
TENANT_ADMIN | Tenant | Administración de usuarios, planes e integraciones. |
MANAGER | Módulo | Gestor operativo: aprobación de excepciones y playbooks. |
OPERATOR | Módulo | Operador de WMS, TMS o YMS: ejecución de tareas. |
VIEWER | Lectura | Solo lectura: analistas y auditores. |
Planes
Del FREE al ENTERPRISE, los planes definen cuántos almacenes y qué módulos usa el tenant.
| Plan | Público | Límites |
|---|---|---|
FREE | Prueba y sandbox | 1 tenant, 1 almacén, volumen bajo. |
STARTER | Pymes de e-commerce | 1 almacén, módulos esenciales (WMS y OMS). |
PRO | Mid-market | Varios almacenes; WMS, TMS, OMS y YMS. |
ENTERPRISE | Grandes operaciones | Multi-tenant interno y todos los módulos. |
Núcleo event-driven
businessEvents
Cada transición de estado y cada operación relevante es un evento canónico tipado. Los nombres siguen el patrón dot.namespace, por ejemplo orders.transition.approved.
correlationId y causationId
Rastrean la cadena causal completa entre eventos: pedido, oleada, movimiento, expedición y factura.
eventLedger
Ledger central inmutable; base para auditoría, replay, analítica y entrenamiento de IA.
MDM unificado
Product Master, Party Master, Asset Master, Location Master y Document Master, compartidos por todos los módulos.
Seguridad y continuidad
ABAC
Autorización por atributo: tenant, rol, recurso y contexto, con granularidad suficiente para evaluar cada solicitud.
Zero Trust
Sin perímetro de confianza: cada llamada se autentica, se autoriza y se registra.
Señales de fraude (fraud signals)
Señales de fraude integradas en orders, claims y facturación, puntuadas en tiempo real.
Disaster recovery
Objetivos medibles de RPO y RTO, replicación multirregión y backup continuo.
Observabilidad
Logs estructurados, métricas, tracing distribuido y dashboards por tenant.
Interfaces especializadas
Headless por diseño: todas las interfaces consumen la misma API.
| Interfaz | Descripción |
|---|---|
| App NexLog Driver | App móvil para conductores: POD digital, tracking, geolocalización y OCR. |
| Kiosk Portaria | Autoservicio para el check-in, con biometría opcional y aviso de privacidad LGPD integrado. |
| Planning Console | App Angular unificada para WMS, TMS, OMS, YMS y Control Tower. |
| Portal B2B/B2C | Portales dedicados a los clientes: tracking, autoservicio y documentos. |
Convenciones de API
Convenciones contractuales válidas para todos los módulos.
| Artefacto | Convención | Ejemplo |
|---|---|---|
| Endpoints REST | kebab-case | /api/v1/trade-declarations |
| Versionado | En el path | /api/v1/ |
| Colecciones MongoDB | camelCase, plural | tradeDeclarations, carbonEntries |
| Clases e interfaces TS | PascalCase, singular | TradeDeclaration, CarbonEntry |
| Enums | UPPER_SNAKE_CASE | INBOUND, DRY, SUPER_ADMIN |
| Eventos | dot.namespace | orders.transition.approved |
Por qué Fastify, MongoDB y Angular
Fastify para una API de alto rendimiento
Las operaciones de la cadena de suministro generan un gran volumen de solicitudes: eventos de picking, movements, checkpoints de tracking y telemetría. Fastify ofrece bajo overhead, validación tipada vía JSON Schema y hooks robustos para la observabilidad.
CCX tiene trayectoria con Node.js en producción, y Fastify permite que NexLog OS escale horizontalmente sin reescribir capas.
MongoDB como núcleo canónico
La cadena de suministro es un dominio con esquemas que evolucionan rápido: nuevos campos en el SKU, nuevos atributos de ruta, nuevos metadatos en el envío. Con colecciones en camelCase, MongoDB permite evolucionar esquemas sin downtime, ejecutar agregaciones complejas para el Control Tower sin un DW separado y escalar horizontalmente por tenant.
Los índices compuestos por tenantId y claves de negocio sostienen el multi-tenancy, y el TTL automático se encarga de la retención del historial de eventos.
Angular para el panel operativo
El Planning Console es una app Angular, elegida por su tipado fuerte, su arquitectura modular, sus herramientas maduras para formularios complejos (WMS, TMS, configuración de playbooks) y sus componentes reutilizables entre módulos.
Las interfaces especializadas (App NexLog Driver, Kiosk Portaria, Portal B2B/B2C) son headless sobre la misma API, según los principios MACH.


