Ir para o conteúdo principal

Manual de Instalação — Sistema de Senhas

Guia completo para instalar o sistema de senhas em um servidor do cliente pela primeira vez.

O sistema é composto por:

  • Backend: pasta mvp-senhas (servidor Node.js com a API e o banco em arquivo JSON).
  • Frontend: pasta mvp-senhas-ui (interface moderna em React, que precisa ser "compilada" antes de ir pro servidor).

Quando o sistema é instalado, o frontend já vem embutido dentro da pasta mvp-senhas/public. O servidor entrega tudo na mesma porta.


Parte A — Preparar o pacote (na sua máquina)

Você só faz isso uma vez, antes de levar o sistema pro servidor do cliente.

A1. Pré-requisitos

Na sua máquina precisa estar instalado:

  • Node.js LTS (versão 20 ou superior): https://nodejs.org/

Confirme no prompt:

node -v
npm -v

A2. Instalar dependências do frontend

Abrir o prompt na pasta mvp-senhas-ui:

cd "Sistema de Senha Novo\mvp-senhas-ui"
npm install

Esse passo só precisa rodar uma vez (ou quando atualizar dependências).

A3. Gerar o build da interface

Ainda na pasta mvp-senhas-ui:

npm run build

Isso cria uma pasta dist/ com o frontend pronto pra produção (HTML, CSS e JS otimizados).

A4. Substituir o public do backend

  1. Apagar todo o conteúdo de Sistema de Senha Legado\mvp-senhas\public\.
  2. Copiar todo o conteúdo da pasta mvp-senhas-ui\dist\ pra dentro de mvp-senhas\public\.

Resultado: dentro de mvp-senhas\public\ deve ter index.html, uma pasta assets/ e demais arquivos do build.

A5. Compactar o pacote

Compactar a pasta mvp-senhas inteira em um .zip. Esse zip é o que vai pro servidor.


Parte B — Instalar no servidor do cliente

B1. Escolher o servidor

Use um computador que fique sempre ligado:

  • servidor Windows da empresa;
  • computador dedicado na recepção;
  • mini PC ligado na rede;
  • servidor virtual interno.

Evite notebook pessoal — se desligar, todos perdem acesso.

B2. Instalar Node.js no servidor

Baixar e instalar Node.js LTS (versão 20 ou superior):

https://nodejs.org/

Confirmar no Prompt de Comando do servidor:

node -v

B3. Copiar a pasta do sistema

Extrair o zip preparado na Parte A para um caminho fixo, por exemplo:

C:\Sistemas\mvp-senhas

B4. Criar o arquivo .env

Dentro de C:\Sistemas\mvp-senhas, criar um arquivo chamado .env (sem extensão .txt) com o conteúdo:

PORT=3030
APP_NAME=Atendimento
SESSION_SECRET=troque-por-um-texto-grande-e-aleatorio
COOKIE_SECURE=false
DATA_FILE=data/state.json
TRUST_PROXY=false

Atenção:

  • Troque o SESSION_SECRET por um texto longo e aleatório (qualquer combinação de letras e números, ex: kJ8m2nP9xR4tQ7vW1yU6).
  • COOKIE_SECURE=false é o correto pra rede interna sem HTTPS. Não mude para true a menos que esteja servindo via HTTPS.

B5. Primeiro teste

No Prompt de Comando, dentro da pasta:

cd C:\Sistemas\mvp-senhas
node server.js

Se aparecer mensagem indicando que o servidor está rodando na porta 3030, está correto.

Abrir no navegador do próprio servidor:

http://localhost:3030

Deve aparecer a tela de login.

B6. Primeiro acesso

Logar com o usuário administrador de suporte:

  • Usuário: admin
  • Senha: Adm1nC&bi14863

⚠️ NÃO trocar a senha do admin.

Esse usuário e senha são padrão de suporte da CEBI — é o que garante que a equipe de suporte consiga acessar o sistema em produção a qualquer momento (pra resolver problema, aplicar correção, ajudar o cliente).

Em vez de trocar a senha do admin, o procedimento correto é:

  1. Entrar uma vez com o admin (só pra criar usuários iniciais).
  2. Criar os administradores do cliente em Administração → Funcionários → Adicionar (ver passo B11).
  3. Daí em diante, o pessoal do cliente trabalha com os usuários próprios deles. O admin fica reservado pra suporte.

Se por qualquer motivo a senha do admin for trocada na produção, comunique a equipe de suporte imediatamente — caso contrário, perde-se o acesso de suporte naquele cliente.

B7. Liberar firewall

No Windows Firewall do servidor, liberar entrada TCP na porta 3030:

  1. Abrir "Windows Defender Firewall com Segurança Avançada".
  2. Regras de Entrada → Nova Regra → Porta → TCP → 3030 → Permitir conexão.
  3. Aplicar a todos os perfis (Domínio, Particular, Público — ou conforme política do cliente).
  4. Nomear a regra (ex: "Sistema de Senhas").

Sem isso, o sistema funciona no próprio servidor mas não abre nos outros computadores da rede.

B8. Acessar de outras máquinas

Em outros computadores da rede:

http://IP_DO_SERVIDOR:3030

Exemplos:

http://192.168.0.50:3030
http://SERVIDOR-SENHAS:3030

Pra descobrir o IP do servidor, no próprio servidor:

ipconfig

E procurar "IPv4" na seção da placa de rede ativa.

B9. Rodar automaticamente ao ligar o servidor

Em produção, o sistema precisa subir sozinho quando o servidor reinicia.

Opção simples — Agendador de Tarefas do Windows

  1. Abrir "Agendador de Tarefas".
  2. Criar tarefa (não criar tarefa básica).
  3. Geral: marcar "Executar com privilégios mais altos".
  4. Disparadores: novo → "Ao iniciar o computador".
  5. Ações: nova → Programa: node — Argumentos: server.js — Iniciar em: C:\Sistemas\mvp-senhas.
  6. Configurações: desmarcar "Parar a tarefa se executar por mais de...".
  7. Salvar e testar reiniciando o servidor.

Opção mais robusta — NSSM (recomendada)

Permite rodar como serviço Windows de verdade, com restart automático em caso de queda.

  1. Baixar NSSM: https://nssm.cc/
  2. Abrir prompt como admin e executar nssm install SistemaSenhas.
  3. Application Path: C:\Program Files\nodejs\node.exe
  4. Startup directory: C:\Sistemas\mvp-senhas
  5. Arguments: server.js
  6. Salvar e iniciar: nssm start SistemaSenhas.

B10. Backup obrigatório

O sistema guarda os dados do cliente em dois lugares distintos:

O que Contém
C:\Sistemas\mvp-senhas\data\state.json Usuários, guichês, salas, configurações, prioridades, motivos, senhas emitidas, histórico, auditoria
C:\Sistemas\mvp-senhas\public\logo.png Logo do cliente (enviado pelo Admin)
C:\Sistemas\mvp-senhas\.env Configuração local (porta, segredo de sessão)

Configurar backup diário automático dos três itens acima. Sugestões:

  • Robocopy + Task Scheduler agendado pra rodar diariamente;
  • Cópia pra outro disco / drive de rede;
  • Backup corporativo (Veeam, etc) incluindo essas pastas/arquivos.

Manter pelo menos 7 cópias (uma por dia da última semana). Recomendado também 1 cópia mensal pra arquivamento.

Exemplo de comando de backup (Robocopy)

robocopy C:\Sistemas\mvp-senhas\data C:\Backup-Senhas\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%\data /E
copy C:\Sistemas\mvp-senhas\public\logo.png C:\Backup-Senhas\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%\logo.png
copy C:\Sistemas\mvp-senhas\.env C:\Backup-Senhas\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%\.env

Cria uma pasta com data do dia e copia os três artefatos.

B11. Configuração inicial dentro do sistema

Já logado como admin, configurar:

Funcionários

Administração → Funcionários:

  • Não mexer no usuário admin — ele é reservado pra suporte da CEBI. Não trocar senha nem desativar.
  • Cadastrar pelo menos um administrador do cliente (com login próprio, ex: nome do responsável pelo sistema na empresa). É esse usuário que o cliente vai usar pra gerenciar o sistema no dia a dia.
  • Cadastrar os atendentes (perfil atendente).
  • Cada usuário recebe login próprio e senha inicial (pelo menos 6 caracteres).
  • Vincular cada atendente a um guichê e sala padrão (opcional, mas recomendado).
  • Combinar com o cliente que o dia a dia deve ser feito com os usuários dele — o admin só é usado por suporte em casos excepcionais.

Guichês

Administração → Guichês:

  • Cadastrar os guichês físicos (ex: "Guichê 1", "Guichê 2").
  • Ativar/desativar conforme necessário.

Salas

Administração → Salas:

  • Cadastrar as salas de atendimento.
  • Vincular os atendentes que podem trabalhar em cada sala.

Configurações gerais

Administração → Configurações:

  • Nome da empresa/órgão (aparece no painel e no topo da interface).
  • Lógica de prioridade (FIFO / alternância configurável).
  • Reset automático do dia (se quiser que zere automaticamente após X horas sem movimento).
  • Outras opções (som, tempo de chamada, etc).

Logo do cliente

Administração → Configurações → Logo:

  1. Clicar em "Carregar logo" (ou área equivalente).
  2. Selecionar o arquivo de imagem do cliente (PNG recomendado, com fundo transparente).
  3. Confirmar o upload.

O logo aparece automaticamente em:

  • Topo da interface (todas as telas);
  • Tela do Painel (TV);
  • Tela do Totem/Recepção.

Importante saber pra atualizações futuras:

  • O logo do cliente é gravado diretamente como C:\Sistemas\mvp-senhas\public\logo.png no servidor.
  • Quando você for atualizar o sistema (substituir a pasta public\), o logo do cliente precisa ser preservado — caso contrário ele será sobrescrito pelo logo padrão que vem no pacote. Ver o Manual de Atualização pra o procedimento correto.
  • Backup recomendado: incluir public\logo.png na rotina de backup junto com o data\state.json.

B12. Telas do sistema

Cada terminal abre a tela conforme a função:

Tela URL/Caminho Uso
Recepção http://IP:3030 → Recepção Emitir senhas (totem ou recepcionista)
Atendimento http://IP:3030 → Atendimento Atendente chama/finaliza senhas
Painel (TV) http://IP:3030 → Painel TV grande mostrando senhas chamadas (com som)
Histórico http://IP:3030 → Histórico Consulta histórico do dia
Administração http://IP:3030 → Administração Só pra usuários admin

Painel na TV

  1. Abrir o navegador na TV.
  2. Acessar http://IP_DO_SERVIDOR:3030.
  3. Fazer login (pode criar um usuário específico tipo "painel" com permissão apenas de visualização).
  4. Entrar em Painel.
  5. Clicar uma vez na tela pra ativar o som (browsers bloqueiam áudio sem interação do usuário).
  6. Pressionar F11 pra tela cheia.

B13. Validação final

Antes de entregar pro cliente, testar:

  • Emitir uma senha comum na Recepção.
  • Chamar a senha em Atendimento de outro computador.
  • Ver a senha sendo anunciada no Painel (com som).
  • Finalizar a senha.
  • Conferir o registro em Histórico.
  • Reiniciar o servidor e confirmar que o sistema sobe sozinho.
  • Confirmar backup do data\state.json.

Resumo dos caminhos importantes

Arquivo/pasta Para que serve
C:\Sistemas\mvp-senhas\server.js Inicia o servidor
C:\Sistemas\mvp-senhas\.env Configuração de porta, sessão, etc
C:\Sistemas\mvp-senhas\data\state.json Banco de dados (fazer backup diário)
C:\Sistemas\mvp-senhas\public\ Interface (HTML/JS/CSS gerados do React)
C:\Sistemas\mvp-senhas\src\ Código do backend Node.js

Problemas comuns

"Funciona no servidor mas não abre nos outros computadores"

  • Firewall não liberado (passo B7).
  • IP do servidor mudou (servidor sem IP fixo). Considere reservar IP no DHCP.

"Login não funciona depois de algumas horas"

  • O sistema mantém sessão por 8 horas absolutas. Após esse tempo o usuário precisa fazer login de novo.
  • Se o servidor reinicia, todas as sessões caem (comportamento esperado).

"O servidor não sobe ao reiniciar"

  • Verificar se a tarefa do Agendador / serviço NSSM está configurada (passo B9).
  • Conferir se o node.exe está no PATH ou se o caminho completo foi usado na configuração do serviço.

"Som do painel não funciona"

  • Clicar uma vez na tela depois de abrir o Painel — é uma restrição dos navegadores.
  • Conferir o volume do sistema operacional.

Limitações desta versão

Esta versão é adequada para um cliente/unidade em rede interna.

Não é ideal para:

  • vários clientes diferentes no mesmo portal (multi-tenancy);
  • exposição pública na internet sem HTTPS/proxy reverso;
  • alto volume (centenas de atendentes simultâneos);
  • integração com banco corporativo (Oracle/SQL Server);
  • controle avançado de infraestrutura.

Para esses casos, planejar evolução pra arquitetura corporativa.