@oondemand/create-central-oon 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -19
- package/package.json +2 -2
- package/templates/_base/backend/central.config.js +2 -0
- package/templates/_base/backend/central.manifest.json +2 -0
- package/templates/_base/backend/env.example +8 -5
- package/templates/_base/backend/package.json +1 -1
- package/templates/_base/frontend/env.example +6 -2
- package/templates/_base/frontend/index.html +3 -4
- package/templates/_base/frontend/package.json +1 -1
- package/templates/_base/frontend/src/main.tsx +3 -0
- package/templates/documentos-fiscais/backend/central.config.js +2 -0
- package/templates/multi-moedas/backend/central.config.js +2 -0
- package/templates/omie-sidecar/backend/central.config.js +2 -0
- package/templates/pedidos-marketplace/backend/central.config.js +2 -0
- package/templates/servicos-prestados/backend/central.config.js +2 -0
- package/templates/servicos-tomados/backend/central.config.js +2 -0
package/README.md
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
📖 **[Documentação completa → ooncoredoc.vercel.app](https://ooncoredoc.vercel.app)**
|
|
4
4
|
|
|
5
|
-
Gerador de **Centrais Oon**. Cria, a partir do nome da Central, um `backend/` e
|
|
6
|
-
um `frontend/` **mínimos** — só domínio e declaração — prontos para consumir o
|
|
7
|
-
Core (`@oondemand/oon-core-back` e `@oondemand/oon-core-front`).
|
|
5
|
+
Gerador de **Centrais Oon**. Cria, a partir do nome da Central, um `backend/` de domínio e um `frontend/` declarativo prontos para consumir o Core (`@oondemand/oon-core-back` e `@oondemand/oon-core-front`).
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
Toda Central gerada nasce com o padrão visual e operacional consolidado na **Central Minexco**:
|
|
8
|
+
|
|
9
|
+
- identidade visual Oon/CST com Poppins, azul `#0474AF` e fundo `#F8F9FA`;
|
|
10
|
+
- menu lateral compacto, responsivo e agrupado por seções;
|
|
11
|
+
- datagrids densos com busca, ordenação, paginação, badges e ações;
|
|
12
|
+
- formulários em diálogo, duas colunas e validação detalhada por campo;
|
|
13
|
+
- campos relacionados com seleção pesquisável;
|
|
14
|
+
- esteiras horizontais com colunas `#E8ECEF` e cartões operacionais brancos.
|
|
15
|
+
|
|
16
|
+
O padrão fica no `@oondemand/oon-core-front`; os templates funcionais apenas declaram domínio, coleções, documentos e esteiras. Assim, não é necessário copiar ou manter um frontend diferente para cada Central.
|
|
13
17
|
|
|
14
18
|
## Uso
|
|
15
19
|
|
|
@@ -24,15 +28,17 @@ Aliases: o binário também responde por `scaffold-central-oon`.
|
|
|
24
28
|
|
|
25
29
|
### Opções
|
|
26
30
|
|
|
27
|
-
| Flag | Efeito
|
|
31
|
+
| Flag | Efeito |
|
|
28
32
|
| ---------------- | ------------------------------------------------------------- |
|
|
29
|
-
| `--template=<t>` | Template inicial (default: `basic`). Veja `--list`.
|
|
33
|
+
| `--template=<t>` | Template funcional inicial (default: `basic`). Veja `--list`. |
|
|
30
34
|
| `--here` | Gera na pasta atual em vez de criar `<nome>/`. |
|
|
31
35
|
| `--force` | Sobrescreve uma pasta existente não-vazia. |
|
|
32
|
-
| `--no-install` | Não roda `npm install` nos projetos gerados.
|
|
36
|
+
| `--no-install` | Não roda `npm install` nos projetos gerados. |
|
|
33
37
|
| `--list` | Lista os templates e sai. |
|
|
34
38
|
|
|
35
|
-
## Templates
|
|
39
|
+
## Templates funcionais
|
|
40
|
+
|
|
41
|
+
Todos utilizam o mesmo frontend padrão Minexco.
|
|
36
42
|
|
|
37
43
|
| Template | O que gera |
|
|
38
44
|
| --------------------- | ------------------------------------------------------------- |
|
|
@@ -49,24 +55,23 @@ Aliases: o binário também responde por `scaffold-central-oon`.
|
|
|
49
55
|
```txt
|
|
50
56
|
<central>/
|
|
51
57
|
├── README.md
|
|
52
|
-
├── backend/
|
|
58
|
+
├── backend/ # consome @oondemand/oon-core-back
|
|
53
59
|
│ ├── central.config.js # identidade + módulos + paths de domínio
|
|
54
60
|
│ ├── central.manifest.json # valores de deploy (render no Core)
|
|
55
61
|
│ └── src/{models,validations,triggers,hooks,mappings,documents,
|
|
56
62
|
│ pipelines,integrations,routes,controllers,services}/
|
|
57
|
-
└── frontend/
|
|
58
|
-
├── central.ui.json #
|
|
63
|
+
└── frontend/ # consome o frontend padrão Minexco do OonCore
|
|
64
|
+
├── central.ui.json # menu e telas (coleções/esteiras/documentos)
|
|
59
65
|
└── src/
|
|
60
|
-
├── main.tsx #
|
|
66
|
+
├── main.tsx # startFromManifest(manifest, { apiBaseUrl })
|
|
61
67
|
└── {collections,documents,pipelines,dashboards,overrides}/
|
|
62
68
|
```
|
|
63
69
|
|
|
64
70
|
## Próximos passos após gerar
|
|
65
71
|
|
|
66
72
|
```bash
|
|
67
|
-
cd <central>/backend && cp .env.example .env && npm run dev
|
|
68
|
-
cd ../frontend && cp .env.example .env && npm run dev
|
|
73
|
+
cd <central>/backend && cp .env.example .env && npm run dev
|
|
74
|
+
cd ../frontend && cp .env.example .env && npm run dev
|
|
69
75
|
```
|
|
70
76
|
|
|
71
|
-
Evoluir
|
|
72
|
-
`frontend/central.ui.json`. Grid, form, rotas e menu são montados pelo Core.
|
|
77
|
+
Evoluir a Central significa criar models em `backend/src/models` e declarar as telas em `frontend/central.ui.json`. Menu, rotas, datagrids, formulários e esteiras são montados pelo Core mantendo o padrão Minexco.
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oondemand/create-central-oon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/oondemand/oon-platform.git",
|
|
7
7
|
"directory": "packages/create-central-oon"
|
|
8
8
|
},
|
|
9
|
-
"description": "Gerador de Centrais Oon
|
|
9
|
+
"description": "Gerador de Centrais Oon com backend declarativo e frontend padrão Central Minexco: menu, datagrids, formulários e esteiras.",
|
|
10
10
|
"main": "src/index.js",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": "./src/index.js"
|
|
@@ -7,10 +7,13 @@ NODE_ENV=development
|
|
|
7
7
|
# Banco
|
|
8
8
|
MONGO_URI=mongodb://localhost:27017/__SLUG__
|
|
9
9
|
|
|
10
|
-
# Autenticação
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
# Autenticação e autorização pela Central de Ativações
|
|
11
|
+
# Deve apontar para o backend da Central de Ativações, nunca para este Core.
|
|
12
|
+
CENTRAL_ATIVACAO_URL=http://localhost:4100
|
|
13
|
+
APP_CODE=__SLUG__
|
|
14
|
+
AUTH_PROVIDER_TIMEOUT_MS=10000
|
|
15
|
+
# Compatibilidade temporária: MEUS_APPS_BACKEND_URL e APP_KEY também são aceitas.
|
|
13
16
|
|
|
14
|
-
# Token de desenvolvimento local (
|
|
15
|
-
#
|
|
17
|
+
# Token de desenvolvimento local (quando a Central sobrescrever verifyToken).
|
|
18
|
+
# Deve ser igual ao VITE_DEV_TOKEN configurado no frontend.
|
|
16
19
|
DEV_TOKEN=dev-local
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# URL do backend da Central (oonCore-back)
|
|
2
2
|
VITE_API_URL=http://localhost:4000
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
VITE_MEUS_APPS_URL=https://
|
|
4
|
+
# Opcional: login externo/SSO. Sem essa variável, o Core usa /login.
|
|
5
|
+
# VITE_MEUS_APPS_URL=https://login.example.com
|
|
6
|
+
|
|
7
|
+
# Desenvolvimento local: deve ser igual ao DEV_TOKEN do backend.
|
|
8
|
+
# O frontend envia este token para /auth/validar-token antes de qualquer redirect.
|
|
9
|
+
VITE_DEV_TOKEN=dev-local
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<meta name="theme-color" content="#0474AF" />
|
|
8
|
+
<meta name="description" content="__NAME__ — Central Oon para governança e automação operacional." />
|
|
7
9
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
|
-
<link
|
|
10
|
-
href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,500;1,700;1,900&display=swap"
|
|
11
|
-
rel="stylesheet"
|
|
12
|
-
/>
|
|
11
|
+
<link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&display=swap" rel="stylesheet" />
|
|
13
12
|
<title>__NAME__</title>
|
|
14
13
|
</head>
|
|
15
14
|
<body>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"sync:metadata": "oonCore-front sync:metadata"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@oondemand/oon-core-front": "^0.
|
|
13
|
+
"@oondemand/oon-core-front": "^0.3.0",
|
|
14
14
|
"@chakra-ui/react": "^3.13.0",
|
|
15
15
|
"@emotion/react": "^11.14.0",
|
|
16
16
|
"@tanstack/react-query": "^5.65.0",
|
|
@@ -9,4 +9,7 @@ import manifest from "../central.ui.json";
|
|
|
9
9
|
startFromManifest(manifest, {
|
|
10
10
|
apiBaseUrl: import.meta.env.VITE_API_URL ?? "http://localhost:4000",
|
|
11
11
|
meusAppsUrl: import.meta.env.VITE_MEUS_APPS_URL,
|
|
12
|
+
// O valor só entra no bundle servido pelo Vite em modo de desenvolvimento.
|
|
13
|
+
// O backend continua validando se ele coincide com DEV_TOKEN.
|
|
14
|
+
devToken: import.meta.env.DEV ? (import.meta.env.VITE_DEV_TOKEN ?? "dev-local") : undefined,
|
|
12
15
|
});
|