O que é o OonCore

A base para criar Centrais operacionais sob demanda — padronizadas, seguras e evolutivas — em que o seu código é apenas o domínio.

O OonCore é o SDK da Oon para construir Centrais operacionais: sistemas internos orientados a dados, como centrais de compras, financeiro, eventos, contratos, tickets ou integrações. Ele é distribuído como três pacotes npm coordenados e é a fundação de todo App publicado na Plataforma Oon.

A ideia central é simples: uma Central não deve nascer como um sistema completo do zero. Ela nasce como uma camada de domínio que consome os recursos do Core.

Central (seu código)
├── backend/src/models/Cliente.js     ← defineModel(...)
├── backend/src/validations/...       ← defineValidation(...)
├── backend/central.domain.json       ← models, fórmulas e validações declarativas
├── backend/central.process.json      ← esteiras, bindings e invariantes
└── frontend/src/app/app.tsx          ← defineOonApp(...)

@oondemand/oon-core-back              ← CRUD, auth, RBAC, paginação, auditoria
@oondemand/oon-core-front             ← shell, router, tabelas, forms, SDK REST

Em menos de cinco minutos você tem um sistema com CRUD, autenticação, RBAC e interface pronta — sem escrever uma linha de infraestrutura.

Os três pacotes

Pacote Papel
@oondemand/oon-core-back Runtime Express/Mongoose: CRUD automático, metadata, RBAC, manifestos de domínio e processo, capabilities (PDF, e-mail, segredos), arquivos, métricas de uso e delivery.
@oondemand/oon-core-front Shell React: providers, roteamento, guards, temas, componentes Core* (coleções, esteiras, documentos, dashboards, UI Kit) e cliente HTTP autenticado.
@oondemand/create-central-oon CLI: gera uma Central completa, sincroniza a documentação canônica para Agents e executa doctor, conformance, dev e example.

O que você recebe pronto

  • CRUD metadata-driven — declare uma model e ganhe rotas REST paginadas, busca, import/export, metadata e formulários derivados.
  • Autenticação e sessão — integração com a Central de Ativações na plataforma e sessão local segura no desenvolvimento.
  • RBAC no backend — perfis e permissões declarados em central.app.json; o frontend apenas reflete.
  • Isolamento por tenant — escopo aplicado no servidor a partir do contexto autenticado.
  • Auditoria — mutações do CRUD registradas automaticamente.
  • Domínio declarativo — fórmulas, validações, transições de etapa, agregações e invariantes sem eval.
  • UI operacional — coleções, modal com abas, grids editáveis inline, esteiras, documentos, dashboards e um kit de componentes.
  • Capabilities gerenciadas — e-mail transacional, PDF e segredos cifrados, sem configurar infraestrutura no App.
  • Documentação para Agents — guias canônicos versionados em .ooncore/, prontos para Codex, Claude, ChatGPT e outros.

Princípios

  1. Dados e regras ficam no backend. A metadata operacional é exposta pelo backend e o frontend renderiza a partir dela.
  2. Permissões são decididas no backend. Esconder um botão nunca é proteção.
  3. Prefira declaração a código. Use manifesto e metadata quando houver contrato; escreva código apenas nos pontos de extensão documentados.
  4. Use somente exports públicos. Caminhos internos dos pacotes não têm estabilidade garantida.
  5. A Plataforma é homologada. Identidade, acesso, tenancy, licenciamento e delivery são consumidos — nunca reimplementados no App.

Modelo mini-monolítico

Cada Central começa como um mini-monólito de negócio: pequeno, coeso, isolado e capaz de entregar valor rapidamente. Quando uma parte do domínio se tornar reutilizável, crítica ou independente, ela pode evoluir para conector, serviço compartilhado ou micro-serviço.

Próximos passos

  • Quickstart — Gere, rode e abra sua primeira Central em minutos.
  • Arquitetura — Como backend, frontend e Plataforma se dividem.
  • Primeira jornada — Página, ação, endpoint e permissão de ponta a ponta.
  • Plataforma Oon — Publicação, ambientes, licenças e operação.