Pular para o conteúdo principal

Backend — Instalação

Via scaffold (recomendado)

A forma mais rápida é usar o scaffold, que gera o backend já configurado:

npx @oondemand/create-central-oon minha-central
cd minha-central/backend
npm install

Instalação manual

Se preferir adicionar o Core a um projeto existente:

npm install @oondemand/oon-core-back

Crie o arquivo de entrada:

index.js
const { start } = require("@oondemand/oon-core-back");
start();

Crie o central.config.js na raiz:

central.config.js
module.exports = {
name: "Minha Central",
slug: "minha-central",
modules: {
collections: true,
},
};

Variáveis de ambiente

.env
MONGO_URI=mongodb://localhost:27017/minha-central
PORT=4000
SERVICE_NAME=Minha Central
NODE_ENV=development
MEUS_APPS_BACKEND_URL=https://meus-apps.oondemand.com.br
APP_KEY=sua-app-key
VariávelObrigatórioDescrição
MONGO_URIURI de conexão do MongoDB
PORTPorta HTTP. Default: 4000
SERVICE_NAMENome exibido no log de boot
NODE_ENVdevelopment ou production
MEUS_APPS_BACKEND_URLURL do provedor de autenticação (Meus Apps)
APP_KEYChave da Central no Meus Apps (usada na ativação)
Autenticação

O Core não implementa login próprio. Toda autenticação é delegada ao Meus Apps via bearer token. O middleware valida o token chamando MEUS_APPS_BACKEND_URL/auth/autenticar-aplicativo/ a cada requisição privada.


Scripts disponíveis

package.json
{
"scripts": {
"dev": "oonCore-back dev",
"start": "oonCore-back start",
"activate": "oonCore-back activate"
}
}
ScriptDescrição
devSobe com hot-reload (nodemon)
startSobe em produção
activateRegistra a Central no sistema de licenciamento

Estrutura de pastas esperada

O Core carrega automaticamente os arquivos em src/ por convenção:

src/
├── models/ # defineModel(...)
├── validations/ # defineValidation(...)
├── triggers/ # defineTrigger(...)
├── routes/ # defineRoutes(...)
├── pipelines/ # definePipeline(...) (módulo pipelines)
├── documents/ # defineDocument(...) (módulo documents)
├── integrations/ # integrações externas
└── mappings/ # defineOmieMapping(...) (módulo omie)

Não é necessário fazer require manual — o start() varre as pastas automaticamente.