create-sps-beas-template
v1.0.0
Published
Template generator for SPS projects (SAP, BEAS, Workers)
Downloads
43
Readme
create-sps-beas-template 🚀
Gerador de templates padrão para novos projetos integrados da SPS (SAP Business One + BEAS Manufacturing + Workers + Websockets).
Este gerador automatiza a criação de projetos base estruturados em um monorepo contendo uma API Hono (Backend), um painel Next.js (Frontend), orquestração via Docker Compose e Proxy Reverso Nginx pronto para VPNs e ambientes de datacenter.
🛠️ Tecnologias do Template
Backend (/backend)
- Core: Node.js v20+, TypeScript, Hono API.
- Database: PostgreSQL (via TypeORM) com migrações e persistência de dados.
- SAP B1 & BEAS Integrations:
SpsSapAdapter: Conector direto SQL suporte a HANA e MSSQL com descriptografia de credenciais.ServiceLayerAdapter: Cliente HTTP para SAP Service Layer com autoreconexão.BeasServiceLayerAdapter: Cliente HTTP para BEAS Service Layer.SapDocumentResolver: Resolutor de DocNum/DocEntry via OData.
- Workers de Fila (Workers):
OutboxWorker: Processador de outbox transacional com lógica de retentativa (recursiveTries).UdtSyncWorker: Sincronizador de buffer de tabelas customizadas (UDT) do SAP.SyncWorker: Casca de cron pronto para sincronismo de staging/mirror.
- Realtime: Servidor WebSocket (
UpdateNotifier) integrado com heartbeat e broadcast de status.
Frontend (/frontend)
- Core: Next.js (App Router), React 19, TypeScript.
- Styling: Tailwind CSS v4.
- Shared UI & Hooks: Componentes com controle de foco (
FocusTrap), atalhos de teclado (GlobalHotkeys), redimensionamento de escala, seleções de tabela e carregamento. - Realtime:
WebSocketProviderconectado ao worker de outbox exibindo alertas de integração ao vivo. - Painéis Base: Fluxo completo de Login (
/auth) e Painel de Configurações de Conexão do SAP/BEAS (/settings).
Infraestrutura (/)
- docker-compose.yml: Inicialização em container do Frontend, Backend, Banco PostgreSQL Alpine e Nginx.
- nginx.conf: Proxy reverso unificando Frontend na raiz (
/), API no/api, Swagger no/uie websockets no/wssob a mesma porta80.
🚀 Como Usar o Gerador
Para gerar um novo projeto a partir deste template:
npx create-sps-beas-templateO CLI solicitará o nome do projeto (ex: sps-cliente-projeto), criará a estrutura limpa e deixará as pastas estruturadas.
💻 Como Executar o Projeto Gerado (Local)
Configurar as Variáveis de Ambiente:
- Copie o arquivo
.env.examplena raiz do projeto gerado e renomeie-o para.env. - Copie o arquivo
backend/.env.examplee renomeie-o parabackend/.env(preenchendo as variáveis de desenvolvimento).
- Copie o arquivo
Subir o ambiente multi-container: Execute o comando abaixo na raiz do projeto gerado:
docker-compose up -d --buildAcesso:
- Frontend:
http://localhost/ - Swagger UI (Backend docs):
http://localhost/ui - API / Health check:
http://localhost/backend/
- Frontend:
📦 Como Publicar Atualizações deste Gerador no NPM
Se você é o mantenedor deste pacote gerador e deseja publicar alterações:
- Incremente a versão do pacote em
package.json(ou use o comandonpm version <patch|minor|major>). - Faça login na sua conta do NPM (caso não esteja logado):
npm login - Publique a nova versão no registro:
(Caso utilize pacotes escopados privados/públicos da organização:npm publishnpm publish --access public).
