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
- Dados e regras ficam no backend. A metadata operacional é exposta pelo backend e o frontend renderiza a partir dela.
- Permissões são decididas no backend. Esconder um botão nunca é proteção.
- Prefira declaração a código. Use manifesto e metadata quando houver contrato; escreva código apenas nos pontos de extensão documentados.
- Use somente exports públicos. Caminhos internos dos pacotes não têm estabilidade garantida.
- 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.