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
- Apagar todo o conteúdo de
Sistema de Senha Legado\mvp-senhas\public\. - Copiar todo o conteúdo da pasta
mvp-senhas-ui\dist\pra dentro demvp-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_SECRETpor 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 paratruea 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.
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 é:
- Entrar uma vez com o
admin(só pra criar usuários iniciais). - Criar os administradores do cliente em Administração → Funcionários → Adicionar (ver passo B11).
- Daí em diante, o pessoal do cliente trabalha com os usuários próprios deles. O
adminfica reservado pra suporte.
Se por qualquer motivo a senha do
adminfor 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:
- Abrir "Windows Defender Firewall com Segurança Avançada".
- Regras de Entrada → Nova Regra → Porta → TCP → 3030 → Permitir conexão.
- Aplicar a todos os perfis (Domínio, Particular, Público — ou conforme política do cliente).
- 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
- Abrir "Agendador de Tarefas".
- Criar tarefa (não criar tarefa básica).
- Geral: marcar "Executar com privilégios mais altos".
- Disparadores: novo → "Ao iniciar o computador".
-
Ações: nova → Programa:
node— Argumentos:server.js— Iniciar em:C:\Sistemas\mvp-senhas. - Configurações: desmarcar "Parar a tarefa se executar por mais de...".
- 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.
- Baixar NSSM: https://nssm.cc/
- Abrir prompt como admin e executar
nssm install SistemaSenhas. - Application Path:
C:\Program Files\nodejs\node.exe - Startup directory:
C:\Sistemas\mvp-senhas - Arguments:
server.js - 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
adminsó é 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:
- Clicar em "Carregar logo" (ou área equivalente).
- Selecionar o arquivo de imagem do cliente (PNG recomendado, com fundo transparente).
- 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.pngno 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.pngna rotina de backup junto com odata\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
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.exeestá 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.