Visão geral
O NexLog OS roda em Fastify (API), MongoDB (persistência canônica) e Angular (painel operacional). É multi-tenant, com tenants e papéis granulares, e event-driven: cada operação gera businessEvents com correlationId e causationId, registrados no eventLedger.
Sobre esse núcleo ficam o MDM unificado, a autorização por atributo (ABAC), a arquitetura Zero Trust, a observabilidade e as interfaces especializadas, todas headless sobre a mesma API.
Stack técnica
| Componente | Papel | Descrição |
|---|---|---|
| Fastify | API | Framework Node.js de alta performance: baixo overhead por requisição, plugins tipados e hooks robustos. |
| MongoDB | Persistência canônica | Collections em camelCase, índices por tenant e agregações tipadas; TTL para businessEvents e replica set multi-região. |
| Angular | Painel operacional | Planning Console unificado, com módulos para WMS, TMS, OMS, YMS e Control Tower. |
| Event-driven | Núcleo | businessEvents com correlationId e causationId; eventLedger central, replay, auditoria e integração assíncrona. |
| MDM unificado | Dados mestres | Product, Party, Asset, Location e Document Master compartilhados, sem duplicação entre módulos. |
| ABAC e Zero Trust | Segurança | Autorização por atributo, identidade federada e nenhum perímetro confiável: cada requisição é validada de forma independente. |
Multi-tenant e papéis
Cada cliente é um tenant (tenants) isolado na plataforma. Os papéis são valores do enum de roles, em UPPER_SNAKE_CASE.
| Role | Escopo | Uso típico |
|---|---|---|
SUPER_ADMIN | Plataforma | Engenharia CCX, não visível ao cliente. |
TENANT_OWNER | Tenant | Executivo dono da conta; controle total no tenant. |
TENANT_ADMIN | Tenant | Administração de usuários, planos e integrações. |
MANAGER | Módulo | Gestor operacional: aprovação de exceções e playbooks. |
OPERATOR | Módulo | Operador de WMS, TMS ou YMS: execução de tarefas. |
VIEWER | Leitura | Somente leitura: analistas e auditores. |
Planos
Do FREE ao ENTERPRISE, os planos definem quantos armazéns e quais módulos o tenant usa.
| Plano | Público | Limites |
|---|---|---|
FREE | Trial e sandbox | 1 tenant, 1 armazém, volume baixo. |
STARTER | PME em e-commerce | 1 armazém, módulos essenciais (WMS e OMS). |
PRO | Mid-market | Vários armazéns; WMS, TMS, OMS e YMS. |
ENTERPRISE | Grande operação | Multi-tenant interno e todos os módulos. |
Núcleo event-driven
businessEvents
Cada transição de estado e cada operação relevante é um evento canônico tipado. Os nomes seguem o padrão dot.namespace, por exemplo orders.transition.approved.
correlationId e causationId
Rastreiam a cadeia causal completa entre eventos: pedido, onda, movimento, expedição e fatura.
eventLedger
Ledger central imutável; base para auditoria, replay, analytics e treinamento de IA.
MDM unificado
Product Master, Party Master, Asset Master, Location Master e Document Master, compartilhados por todos os módulos.
Segurança e continuidade
ABAC
Autorização por atributo: tenant, role, recurso e contexto, com granularidade suficiente para avaliar cada requisição.
Zero Trust
Sem perímetro confiável: cada chamada é autenticada, autorizada e registrada.
Sinais de fraude (fraud signals)
Sinais de fraude embutidos em orders, claims e faturamento, pontuados em tempo real.
Disaster recovery
Objetivos mensuráveis de RPO e RTO, replicação multi-região e backup contínuo.
Observabilidade
Logs estruturados, métricas, tracing distribuído e dashboards por tenant.
Interfaces especializadas
Headless por design: todas as interfaces consomem a mesma API.
| Interface | Descrição |
|---|---|
| App NexLog Driver | App mobile para motoristas: POD digital, tracking, geolocalização e OCR. |
| Kiosk Portaria | Autoatendimento para check-in, com biometria opcional e termo LGPD embutido. |
| Planning Console | App Angular unificado para WMS, TMS, OMS, YMS e Control Tower. |
| Portal B2B/B2C | Portais dedicados aos clientes: tracking, autoatendimento e documentos. |
Convenções de API
Convenções contratuais válidas para todos os módulos.
| Artefato | Convenção | Exemplo |
|---|---|---|
| Endpoints REST | kebab-case | /api/v1/trade-declarations |
| Versionamento | No path | /api/v1/ |
| Collections MongoDB | camelCase, plural | tradeDeclarations, carbonEntries |
| Classes e interfaces TS | PascalCase, singular | TradeDeclaration, CarbonEntry |
| Enums | UPPER_SNAKE_CASE | INBOUND, DRY, SUPER_ADMIN |
| Eventos | dot.namespace | orders.transition.approved |
Por que Fastify, MongoDB e Angular
Fastify para uma API de alta performance
Operações de supply chain geram um volume alto de requisições: eventos de picking, movements, checkpoints de tracking e telemetria. O Fastify entrega baixo overhead, validação tipada via JSON Schema e hooks robustos para observabilidade.
A CCX tem histórico com Node.js em produção, e o Fastify permite que o NexLog OS escale horizontalmente sem reescrever camadas.
MongoDB como núcleo canônico
Supply chain é um domínio com esquemas que evoluem rápido: novos campos em SKU, novos atributos de rota, novos metadados em shipment. Com collections em camelCase, o MongoDB permite evoluir esquemas sem downtime, rodar agregações complexas para o Control Tower sem DW separado e escalar horizontalmente por tenant.
Índices compostos por tenantId e chaves de negócio sustentam o multi-tenancy, e o TTL automático cuida da retenção do histórico de eventos.
Angular para o painel operacional
O Planning Console é um app Angular, escolhido pela tipagem forte, pela arquitetura modular, pelo ferramental maduro para formulários complexos (WMS, TMS, configuração de playbooks) e pelos componentes reutilizáveis entre módulos.
As interfaces especializadas (App NexLog Driver, Kiosk Portaria, Portal B2B/B2C) são headless sobre a mesma API, seguindo os princípios MACH.


