CubexaCubexa Documentação
Voltar ao siteBaixar Demo
Versão 1.1.1atual

Documentação baseada nos documentos 1.0.0; os fluxos permanecem válidos para a linha 1.1 quando não indicado o contrário.

Guiav1.1.1

Visão geral da documentação

A documentação do Cubexa reúne o guia operacional para usuários e a referência técnica para desenvolvimento, suporte e implantação.

MANUALOperação diária

Configuração, produtos, estoque, compras, vendas, inventário, relatórios, usuários, backup e solução de problemas.

TÉCNICAArquitetura e manutenção

Arquitetura, banco, regras de negócio, segurança, build, testes, diagnóstico e evolução.

Como as versões funcionam

Use o seletor de versão na barra lateral para consultar a documentação no contexto da versão instalada. A versão atual do produto é 1.1.1. Os documentos de origem enviados para este portal foram produzidos para a versão 1.0.0.

Compatibilidade 1.1.1: a linha 1.1 recebeu melhorias incrementais. Por isso, o portal usa a documentação 1.0.0 como base para os fluxos que permanecem válidos e identifica claramente essa origem. Nenhuma funcionalidade nova foi inventada para preencher lacunas.

Documentos de origem

Operacionalv1.1.1

Como usar este manual

Os nomes de menus e botões aparecem em negrito no texto. As etapas partem da barra lateral do sistema. Quando uma ação não estiver visível, confirme o perfil do usuário: algumas funções são exclusivas do Administrador e o perfil Consulta não pode alterar dados.

SímboloSignificado
ImportanteRegra que evita perda de dados ou inconsistência.
Boa práticaRecomendação operacional para reduzir risco.
Resultado esperadoComo confirmar que o procedimento funcionou.
Operacionalv1.1.1

1. Primeira configuração

  1. Abra a Cubexa pelo atalho da área de trabalho ou menu Iniciar.
  2. Na tela “Vamos preparar seu estoque”, selecione Iniciar configuração.
  3. Informe os dados da empresa e do primeiro administrador. Use um nome de acesso individual.
  4. Crie uma senha exclusiva com pelo menos 8 caracteres e guarde-a em local seguro.
  5. Conclua a configuração. O sistema abrirá o catálogo para o primeiro cadastro.
Boa prática: Crie um segundo Administrador para contingência e use contas Operador no trabalho diário. Não compartilhe a conta administrativa.
Operacionalv1.1.1

2. Entrar, sair e navegar

  1. Informe usuário e senha na tela de acesso e selecione Entrar.
  2. Use o menu lateral para Dashboard, Produtos, Movimentações, Vendas, Compras, Inventário, Lotes e reposição, Relatórios e Configurações.
  3. Use Ctrl+K para localizar telas e ações. Use Esc para fechar a busca.
  4. Use Ctrl+N para iniciar a ação principal da tela atual, quando seu perfil permitir.
  5. Ao terminar, selecione Sair no menu lateral.
Segurança: Sempre encerre a sessão em computadores compartilhados. Fechar somente a janela pode executar backup “Ao sair”, mas não substitui o hábito de sair da conta.
Operacionalv1.1.1

3. Perfis de acesso

PerfilUso recomendadoRestrições
AdministradorResponsável pelo sistema e dados mestres.Nenhuma restrição funcional; ações críticas exigem confirmação.
OperadorEquipe de estoque, compras e vendas.Não administra empresa, usuários, backup nem estrutura do catálogo.
ConsultaGestão, auditoria ou conferência.Somente leitura; não registra operações.
Operacionalv1.1.1

4. Configurar empresa

  1. Acesse Configurações → Empresa.
  2. Revise nome, razão social, CPF/CNPJ, endereço, telefone e e-mail.
  3. Opcionalmente selecione logotipo PNG, JPG ou WebP de até 5 MB.
  4. Defina moeda, casas decimais e formato de data.
  5. Mantenha “Permitir estoque negativo” desativado, salvo decisão formal da empresa.
  6. Selecione Salvar e confirme a mensagem de atualização.
Operacionalv1.1.1

5. Categorias e produtos

5.1 Criar uma categoria

  1. Acesse Produtos e selecione Categorias.
  2. Selecione Nova categoria.
  3. Informe nome, descrição e cor; escolha a categoria-pai se desejar hierarquia.
  4. Salve e feche o gerenciador.

5.2 Cadastrar um produto

  1. Acesse Produtos → Novo produto.
  2. Preencha nome, descrição, categoria, unidade, preço de venda, estoque mínimo, estoque ideal e localização física.
  3. Ative controle por lote e/ou validade somente quando o produto exigir rastreabilidade.
  4. Adicione uma ou mais variações. Para cada uma, informe nome, SKU e código de barras quando disponíveis.
  5. Se houver estoque inicial, informe quantidade e custo. O sistema registrará uma entrada INITIAL_STOCK, preservando o histórico.
  6. Adicione imagem local se necessário, revise e salve.
Importante: SKU e código de barras devem ser únicos. Depois de registrar operações, não “corrija” saldo editando o cadastro: use Movimentações ou Inventário.

5.3 Localizar, editar e arquivar

  • Busque por nome, SKU ou código de barras.
  • Filtre por categoria e situação do estoque; ordene por atualização, nome, saldo ou preço.
  • Abra o produto ou use o ícone Editar.
  • Arquive produtos fora de uso; o histórico permanece preservado.
Operacionalv1.1.1

6. Movimentações de estoque

6.1 Registrar entrada ou saída

  1. Acesse Movimentações → Nova movimentação.
  2. Escolha Entrada para adicionar saldo ou Saída para retirar.
  3. Selecione o produto/variação, informe quantidade e motivo.
  4. Em entradas, revise o custo unitário; informe data/hora se o lançamento não for imediato.
  5. Quando houver controle por lote, selecione o lote ou informe código, fabricação e validade.
  6. Registre uma nota com documento, responsável ou justificativa.
  7. Selecione Registrar entrada ou Registrar saída e confirme o novo saldo no histórico.

6.2 Estornar uma movimentação

  1. Abra a movimentação no histórico.
  2. Confirme produto, quantidade, lote, custo e origem.
  3. Selecione Registrar estorno.
  4. Confirme. O sistema cria um lançamento inverso; o original continua visível.
Importante: Movimentações não são editadas nem apagadas. Use estorno para manter rastreabilidade.
Operacionalv1.1.1

7. Fornecedores e compras

7.1 Cadastrar fornecedor

  1. Acesse Compras → aba Fornecedores → Novo fornecedor.
  2. Preencha nome/razão social, documento, contatos, endereço, prazo e observações.
  3. Associe produtos, códigos do fornecedor, preço, prazo e quantidade mínima quando aplicável.
  4. Salve.

7.2 Criar pedido de compra

  1. Acesse Compras → Nova compra.
  2. Selecione fornecedor, data, previsão e situação inicial: Rascunho ou Pedido.
  3. Adicione itens; selecione a variação e informe quantidade, custo unitário e desconto.
  4. Informe desconto geral, frete e observações.
  5. Revise o total e selecione Salvar compra.

7.3 Receber compra total ou parcialmente

  1. Abra a compra com status apto a receber.
  2. Selecione Receber itens.
  3. Informe a quantidade efetivamente recebida de cada item; não ultrapasse o pedido.
  4. Para itens controlados, informe lote, fabricação e validade.
  5. Confirme o recebimento. O estoque e o custo médio serão atualizados somente agora.
  6. Repita em outro momento se o recebimento foi parcial.
Operacionalv1.1.1

8. Clientes e vendas

8.1 Cadastrar cliente

  1. Acesse Vendas → Clientes → Novo cliente.
  2. Informe nome e, se disponíveis, CPF/CNPJ, telefone, WhatsApp, e-mail e observações.
  3. Mantenha Cliente ativo marcado e salve.

8.2 Criar e finalizar venda

  1. Acesse Vendas → Nova venda.
  2. Selecione o cliente ou mantenha Consumidor não identificado.
  3. Informe data/hora e forma de pagamento.
  4. Adicione produtos, quantidades, preços e descontos por item.
  5. Informe desconto geral, acréscimo e observações.
  6. Selecione Salvar rascunho para continuar depois, ou Finalizar venda para validar e baixar o estoque.
  7. Confirme o status Finalizada e o total.

8.3 Cancelar venda

  1. Abra a venda.
  2. Selecione Cancelar venda e confirme.
  3. Se ela já estava finalizada, confira as movimentações de estorno que devolveram o estoque.
Lotes: Em produtos rastreados, a finalização consome automaticamente os lotes pelo critério FEFO: primeiro os que vencem antes.
Operacionalv1.1.1

9. Inventário físico

  1. Evite compras, vendas e movimentações durante a contagem.
  2. Acesse Inventário → Novo inventário.
  3. Escolha o escopo: geral, categoria ou localização. Adicione observações e inicie.
  4. Conte cada item fisicamente e registre a quantidade. Use busca por produto, SKU ou código de barras.
  5. Em diferença positiva de produto rastreado, informe lote e validade exigidos.
  6. Revise progresso, pendências e divergências.
  7. Selecione Concluir inventário. O sistema cria entradas/saídas de ajuste.
  8. Se o saldo tiver mudado desde o início, o sistema bloqueará a conclusão; revise o movimento e reinicie a contagem.
Boa prática: Faça inventários por localização ou categoria em ciclos menores. Isso reduz o tempo de paralisação e facilita investigar divergências.
Operacionalv1.1.1

10. Lotes, validade e reposição

  • Acesse Lotes e reposição para consultar lote, fornecedor, compra, fabricação, validade, saldo e histórico.
  • Priorize lotes vencidos, a vencer em 7 dias e a vencer em 30 dias. Não realize venda de item vencido sem política formal e avaliação aplicável.
  • Use a visão de integridade para comparar saldo dos lotes com o saldo total.
  • Revise sugestões quando o estoque cair abaixo do mínimo; a sugestão busca completar o nível ideal.
  • Agrupe sugestões por fornecedor e crie uma compra em rascunho; revise preço, prazo e quantidade antes de enviar.
  • Consulte produtos sem giro em 30, 60, 90 ou 180 dias para reduzir capital imobilizado.
Operacionalv1.1.1

11. Relatórios e exportações

  1. Acesse Relatórios e selecione o relatório desejado.
  2. Aplique filtros de período, categoria, produto, fornecedor e usuário conforme disponíveis.
  3. Confira indicadores e linhas na tela.
  4. Selecione PDF para documento paginado, XLSX para análise em planilha ou CSV para integração.
  5. Abra o arquivo exportado e confirme título, período, totais e quantidade de registros.
Boa prática: Guarde relatórios gerenciais fora da pasta de backup do banco. Relatório exportado não substitui backup, pois não contém todas as relações e o histórico necessários à restauração.
Operacionalv1.1.1

12. Importar produtos por planilha

  1. Acesse Relatórios e abra a importação de produtos. A ação requer Administrador.
  2. Selecione um arquivo XLSX ou CSV.
  3. Mapeie cada coluna do arquivo para o campo correspondente.
  4. Revise a prévia e corrija cabeçalhos ou valores inválidos.
  5. Escolha criar/atualizar conforme o identificador disponível (SKU ou código de barras).
  6. Execute a importação e leia o resumo de criados, atualizados, ignorados e erros.
  7. Revise uma amostra no catálogo antes de importar o próximo lote.
Operacionalv1.1.1

13. Usuários e auditoria

13.1 Criar ou alterar usuário

  1. Acesse Configurações → Usuários.
  2. Selecione Novo usuário ou Editar.
  3. Informe nome, usuário, perfil, situação e senha. Nova senha deve ter ao menos 8 caracteres.
  4. Salve. O sistema não permite desativar a própria conta nem o último administrador ativo.

13.2 Consultar auditoria

  1. Acesse Configurações → Auditoria.
  2. Pesquise por ação, módulo, registro ou usuário; use os filtros disponíveis.
  3. Compare valores anteriores e novos quando exibidos.
  4. Registre externamente o identificador, usuário e horário ao abrir um chamado.
Operacionalv1.1.1

14. Backup manual

  1. Acesse Configurações → Backups.
  2. Revise a pasta de destino. Se necessário, selecione Escolher pasta e aponte para uma pasta dedicada.
  3. Selecione Criar backup agora.
  4. Aguarde a mensagem “Backup criado” e confirme no histórico o status Concluído, horário e tamanho.
  5. Abra a pasta no Windows e verifique se existe um arquivo Cubexa-backup-...-manual.sqlite3 com tamanho maior que zero.
Operacionalv1.1.1

15. Configurar backup automático em drive externo

  1. Conecte o HD externo ou pendrive e confirme no Explorador de Arquivos que ele está acessível e possui espaço livre.
  2. Crie uma pasta exclusiva, por exemplo E:\Backups-Cubexa. Evite usar a raiz da unidade.
  3. Na Cubexa, entre como Administrador e acesse Configurações → Backups.
  4. Selecione Escolher pasta e indique a pasta do drive externo.
  5. Ative a rotina e escolha Diário para operação frequente, Semanal para baixa movimentação, ou Ao sair se o drive permanece conectado no encerramento.
  6. Defina retenção. Recomendação inicial: 14 cópias diárias ou 8 semanais, ajustando ao volume e ao espaço.
  7. Selecione Salvar configuração.
  8. Crie um backup manual de teste e confirme o histórico e o arquivo no drive.
  9. Ejete o drive com segurança somente depois de o backup terminar.
Atenção: A letra da unidade pode mudar ao reconectar. Se isso ocorrer, selecione novamente a pasta. Backups automáticos falharão se o drive estiver desconectado, sem espaço ou sem permissão de gravação.
Operacionalv1.1.1

16. Estratégia de backup recomendada (3-2-1)

  • Mantenha pelo menos 3 cópias dos dados: o banco ativo e duas cópias de backup.
  • Use 2 mídias ou locais distintos: por exemplo, drive externo e armazenamento corporativo sincronizado.
  • Mantenha 1 cópia fora do local físico. Se usar nuvem/Drive, sincronize a pasta de backups concluídos, nunca a pasta do banco ativo.
  • Não trabalhe diretamente sobre um arquivo .sqlite3 em pasta sincronizada; sincronizadores podem copiar enquanto o arquivo está em uso.
  • Criptografe a unidade externa quando ela sair da empresa e controle quem possui a chave.
  • Registre o responsável e confira o histórico ao menos semanalmente.
Operacionalv1.1.1

17. Restaurar um backup

  1. Pare vendas, compras, recebimentos e movimentações. Avise todos os usuários da janela de restauração.
  2. Confirme que o arquivo é .sqlite3, provém da Cubexa e corresponde ao ponto desejado. Preserve uma cópia dele.
  3. Entre como Administrador e acesse Configurações → Backups.
  4. Selecione Restaurar backup, leia o aviso e confirme Selecionar e restaurar.
  5. Escolha o arquivo. A Cubexa valida integridade e estrutura e cria automaticamente um PRE_RESTORE do estado atual.
  6. Aguarde a conclusão. A sessão será encerrada. Entre novamente.
  7. Confira empresa, usuários, produtos, saldo de amostra, últimas vendas/compras e auditoria.
  8. Se algo estiver incorreto, pare as operações e contate o suporte informando o caminho do PRE_RESTORE.
Nunca faça: Não renomeie qualquer banco para “parecer” backup, não substitua o arquivo ativo manualmente e não restaure com usuários trabalhando.
Operacionalv1.1.1

18. Teste periódico de restauração

  • Frequência recomendada: trimestral e sempre antes de atualização relevante.
  • Faça o teste em ambiente controlado ou computador de homologação; não use produção apenas para “ver se funciona”.
  • Escolha uma cópia recente e registre data, arquivo, tamanho e responsável.
  • Após restaurar, valide login, contagens de cadastros, saldos de amostra, movimentações e um relatório.
  • Registre o resultado e corrija imediatamente falhas de rotina, destino ou retenção.
Operacionalv1.1.1

19. Recuperar senha do administrador

  1. Na tela de acesso, selecione a opção de recuperação de senha.
  2. Confirme os dados solicitados da empresa.
  3. Informe a nova senha seguindo o mínimo de 8 caracteres.
  4. Conclua. O sistema cria um backup preventivo antes de alterar a credencial.
  5. Entre com a nova senha. Se ocorrer bloqueio por tentativas repetidas, aguarde o período informado antes de tentar novamente.
Operacionalv1.1.1

20. Rotina operacional sugerida

FrequênciaVerificações
DiáriaAlertas do Dashboard; compras a receber; vendas pendentes; lotes vencendo; último backup concluído.
SemanalEstoque baixo; sugestões de reposição; itens sem giro; falhas de backup; usuários ativos.
MensalInventário cíclico; divergências; relatórios de margem e giro; espaço livre do computador e drive.
TrimestralTeste de restauração; revisão de acessos; cópia externa/off-site; atualização do manual.
Operacionalv1.1.1

21. Solução de problemas

SituaçãoAção segura
Saída bloqueadaConfira saldo e lotes. Não habilite estoque negativo apenas para contornar o erro.
Inventário não concluiPreencha contagens pendentes; se houve movimento durante a contagem, investigue e reinicie.
Backup falhouReconecte a unidade, confirme pasta, espaço e permissão; execute novo backup manual.
Arquivo não restauraUse um .sqlite3 original da Cubexa; não force a importação.
Produto duplicado na importaçãoRevise SKU/código de barras e mapeamento antes de repetir.
Tela sem ação de ediçãoConfirme se o perfil é Operador/Administrador e se a ação exige Administrador.
Saldo incorretoConsulte movimentos, estornos e auditoria; faça ajuste documentado ou inventário.
Operacionalv1.1.1

22. Checklist de encerramento diário

  • Rascunhos importantes salvos e documentos recebidos/finalizados corretamente.
  • Nenhum inventário iniciado por engano ou deixado sem responsável.
  • Alertas críticos revisados.
  • Backup automático concluído ou backup manual criado.
  • Drive externo mantido conectado até o fim da cópia e depois ejetado com segurança, quando aplicável.
  • Sessão encerrada.
Técnicav1.1.1

Controle do documento

CampoValor
ProdutoCubexa (identificadores internos legados “NexoStock”)
Versão1.0.0
PlataformaWindows 10/11, aplicação desktop e operação local/offline
Base documentalCódigo-fonte, migrações, contratos IPC, serviços, testes e README da versão
EscopoPrimeira versão estável, etapas funcionais 1 a 10
Nota de identidade: O nome comercial é Cubexa. O arquivo nexostock.sqlite3, a bridge window.nexostock e o App ID com.nexostock.desktop foram preservados por compatibilidade; não devem ser renomeados em manutenção corretiva sem plano de migração.
Técnicav1.1.1

Sumário executivo

A Cubexa é um sistema de controle de estoque para microempresas, distribuído como aplicativo Electron e projetado para funcionar integralmente no computador do cliente. A interface React não acessa o sistema de arquivos nem o banco diretamente. Todas as operações atravessam uma bridge tipada do preload, controladores IPC e serviços de aplicação que aplicam autorização e transações SQLite.

  • Catálogo com categorias, produtos, variações, SKU, código de barras, preços, níveis de estoque, imagens, lote e validade.
  • Movimentação central e imutável, compras e recebimentos, vendas e cancelamentos, inventários, lotes, reposição e relatórios.
  • Administração local com usuários e perfis, auditoria, configurações, backup/restauração e recuperação de senha.
  • Sem dependência de internet para a operação normal; os dados permanecem no perfil local do Windows.
Técnicav1.1.1

1. Arquitetura e tecnologias

ComponenteTecnologia / responsabilidade
RendererReact 19 + TypeScript strict; UI, acessibilidade e estado de tela.
DesktopElectron 37; janela, ciclo de vida, diálogos e empacotamento.
BridgePreload com contextIsolation e API mínima window.nexostock.
AplicaçãoServiços TypeScript; autorização, validações e limite transacional.
PersistênciaSQLite via better-sqlite3; migrações versionadas.
BuildVite 7 e Electron Builder/NSIS.
ExportaçãoExcelJS para XLSX; geradores locais para PDF e CSV.
TestesVitest, com suites por domínio, banco, migração e segurança.

Fluxo lógico: Renderer → preload tipado → handlers IPC → serviços de aplicação → regras de domínio → repositórios/SQLite. Erros técnicos são convertidos em códigos estáveis e mensagens compreensíveis antes de retornar à interface.

Técnicav1.1.1

2. Estrutura do repositório

DiretórioConteúdo
src/Aplicação React, componentes, estilos e features.
electron/Main, preload, IPC, contratos, serviços, banco e migrações.
tests/Testes automatizados de catálogo, estoque, compras, vendas, inventário, relatórios, administração e erros.
docs/Arquitetura e checklist de release.
resources/Ícones e recursos de empacotamento.
release/Instaladores e artefatos gerados.
Técnicav1.1.1

3. Banco de dados e integridade

  • Arquivo: data/nexostock.sqlite3 dentro do userData do Electron. Em instalações novas no Windows, o diretório base é %APPDATA%\Cubexa.
  • Ao detectar a identidade anterior, dados e imagens de %APPDATA%\NexoStock são copiados para o novo local sem apagar a origem.
  • PRAGMAs: foreign_keys habilitado, journal_mode WAL, synchronous NORMAL e busy_timeout de 5 segundos.
  • Migrações são transacionais e registradas em schema_migrations; a inicialização verifica a integridade do SQLite.
  • Valores monetários são inteiros em centavos; quantidades são inteiros em milionésimos da unidade; datas são ISO 8601 UTC.
  • Movimentos lançados possuem proteção contra UPDATE e DELETE. Correções criam um movimento inverso relacionado.
Técnicav1.1.1

4. Modelo de dados essencial

GrupoEntidades e função
Organizaçãocompanies, users, settings e audit_logs.
Catálogocategories, products, product_variants e product_suppliers.
Estoquestock_balances, stock_movements e lots.
Comprassuppliers, purchases e purchase_items.
Vendascustomers, sales e sale_items.
Inventárioinventories e inventory_items.
Continuidadebackup_history e schema_migrations.
Invariante crítica: A engine de movimentação é a única autoridade para alterar stock_balances e saldos de lotes. Compras alteram estoque somente no recebimento; vendas, somente na finalização; inventários, somente na conclusão.
Técnicav1.1.1

5. Regras de negócio críticas

  • Saídas acima do saldo são bloqueadas, exceto quando a política administrativa de estoque negativo está habilitada.
  • O custo médio ponderado é recalculado em entradas com custo e congelado nos itens de vendas concluídas.
  • Produtos rastreados por lote exigem lote nas operações aplicáveis; baixas automáticas utilizam FEFO, priorizando a menor validade.
  • Pedidos podem ser recebidos parcialmente, mas não acima do pedido. Documentos recebidos não são reeditados como se fossem rascunhos.
  • Vendas em rascunho não afetam o saldo. O cancelamento de venda concluída devolve estoque por estornos vinculados.
  • O inventário captura uma fotografia do saldo; sua conclusão falha se houver itens sem contagem ou se o saldo mudar durante a contagem.
Técnicav1.1.1

6. Segurança e perfis

PerfilCapacidade principal
AdministradorConfigura empresa e política de estoque; gerencia catálogo, usuários, auditoria, importação e backups; também opera os demais módulos.
OperadorRegistra movimentos, compras, vendas, recebimentos e inventários; não altera configurações administrativas nem o catálogo estrutural.
ConsultaAcesso somente leitura a telas e registros; ações de escrita são ocultadas e bloqueadas no processo principal.
  • Senhas usam hash scrypt; comparações são resistentes a timing.
  • Sessão autenticada é mantida somente em memória.
  • Tentativas repetidas de login causam bloqueio temporário.
  • nodeIntegration desativado; contextIsolation e sandbox ativados.
  • Navegação externa é bloqueada; somente HTTPS pode ser aberto pelo sistema.
  • É proibido desativar o próprio usuário autenticado ou remover o último administrador ativo.
Técnicav1.1.1

7. Backup e restauração — implementação

ItemComportamento
FrequênciasDiário, semanal ou ao sair; habilitação configurável.
DestinoPasta selecionada pelo administrador; se ausente, subpasta backups do userData.
ArquivoCubexa-backup-<data-hora>-<tipo>.sqlite3.
ValidaçãoExtensão .sqlite3, integrity_check e presença de companies, users e schema_migrations.
EvidênciaHistórico com status, caminho, tamanho, horário e checksum SHA-256.
Retenção1 a 100 cópias; arquivos antigos do mesmo diretório são removidos, exceto PRE_RESTORE.
RestauraçãoCria PRE_RESTORE, encerra sessão, fecha banco, substitui arquivo, reabre, configura e executa migrações.
FalhaTenta repor o PRE_RESTORE e informa seu caminho ao operador.
Limite operacional: A rotina integrada grava em um único diretório configurado. A estratégia 3-2-1 deve ser completada com uma segunda cópia automatizada ou procedimento externo, sem manipular o banco em uso.
Técnicav1.1.1

8. Instalação, build e release

  1. Instale Windows 10/11, Node.js 22+, npm 10+ e ferramentas C++ quando o módulo nativo não tiver binário compatível.
  2. Execute npm install. O postinstall reconstrói better-sqlite3 para a versão do Electron.
  3. Execute npm run typecheck e npm run test.
  4. Execute npm run build:renderer para validar a interface, ou npm run build para gerar o diretório empacotado.
  5. Execute npm run dist:win para gerar o instalador NSIS em release/.
  6. Distribua Cubexa-Setup-1.0.0.exe. Não distribua somente release/win-unpacked/Cubexa.exe, pois ele depende dos demais recursos do diretório.
Técnicav1.1.1

9. Operação de desenvolvimento

ComandoUso
npm run devAplicativo desktop com banco local.
$env:CUBEXA_DEMO_DATA='1'; npm run devDados demonstrativos, somente desenvolvimento e apenas se não houver empresa.
npm run dev:webPrévia no navegador com snapshot em memória e sem banco.
npm run checkTypecheck seguido dos testes.
npm run dist:winInstalador Windows NSIS.
Técnicav1.1.1

10. Testes e critérios de aceite

  • Executar as suites de database, errors, catalog, movements, purchasing, sales, inventory, stock-control, reporting, administration e branding.
  • Validar migração de uma base anterior em cópia descartável.
  • Testar backup manual, backup agendado e restauração com arquivo válido e inválido.
  • Confirmar permissões nas duas camadas: visibilidade da UI e recusa no IPC/serviço.
  • Realizar smoke test de criação de produto → compra/recebimento → venda → inventário → relatório.
  • Gerar e conferir PDF, XLSX e CSV com os mesmos filtros exibidos na tela.
Técnicav1.1.1

11. Diagnóstico e suporte

SintomaVerificação inicial
Aplicativo não iniciaIntegridade do SQLite, permissões no userData e logs de inicialização.
Banco ocupadoOutra instância/processo, antivirus ou sincronizador operando no arquivo ativo; aguardar busy_timeout.
Saldo inesperadoHistórico de movimentos, estornos, lotes e auditoria; nunca editar o SQLite manualmente.
Backup falhaExistência/permissão da pasta, espaço livre, disponibilidade da unidade externa e histórico de backup.
Restauração recusadaExtensão, integrity_check e tabelas mínimas esperadas.
Usuário bloqueadoAguardar bloqueio temporário ou usar recuperação local do administrador conforme procedimento autorizado.
Técnicav1.1.1

12. Manutenção e evolução

  • Preservar compatibilidade com nomes internos legados até existir migração formal e testada.
  • Toda alteração de schema deve ser uma nova migração idempotente e transacional; nunca editar uma migração já publicada.
  • Novos fluxos de estoque devem chamar a engine central, não atualizar saldos diretamente.
  • Novos canais IPC devem ser mínimos, tipados, validados e autorizados no processo principal.
  • Antes de atualizar um cliente, criar backup, registrar a versão e manter o instalador anterior durante a janela de validação.
Técnicav1.1.1

Apêndice A — Checklist de release 1.0

  • Versão de package.json e nome do artefato conferidos.
  • Typecheck e testes aprovados.
  • Migração e primeira inicialização validadas.
  • Perfis e recuperação de senha testados.
  • Backup/restauração testados em diretório local e unidade externa.
  • Instalador assinado/verificado conforme processo da organização.
  • Manual de uso e documentação técnica entregues junto ao instalador.