Files
2026-05-29 04:30:30 +02:00

5.1 KiB

🖥️ Documentação Completa: ScoreOdonto Dental Client (Windows)

Este documento centraliza TUDO o que você precisa saber sobre o aplicativo Cliente Windows (Electron) da ScoreOdonto. Ele roda nos computadores das clínicas, escuta os sensores de Raio-X e envia as imagens em tempo real para o servidor.


⚙️ 1. Visão Geral e Arquitetura

O Dental Client é construído em Electron. Ele roda minimizado na "Bandeja do Sistema" (System Tray) do Windows (ao lado do relógio). Suas principais responsabilidades são:

  • Monitoramento contínuo: Usando a biblioteca chokidar, ele vigia a pasta raiz do software de Raio-X.
  • Processamento: Quando uma imagem é salva, ele aguarda o término da gravação do arquivo e lê a imagem e seus metadados (como nome do paciente).
  • Socket.IO: Comunica-se bidirecionalmente e de forma autenticada (via JWT) com o backend (https://rx.scoreodonto.com).

🛠 2. Instalação e Auto-Updater

A instalação é feita via arquivo .exe padrão que geramos.

Sistema de Atualização Invisível: O cliente possui electron-updater nativo.

  • Quando lançamos uma nova versão no Servidor (VPS 1), o cliente das clínicas verifica silenciosamente o link de atualizações.
  • Se achar uma versão nova, ele baixa no fundo. O ícone da bandeja mostra o status "Baixando... 45%".
  • Quando o download termina, ele fica "Pronto". Ao reiniciar o computador ou fechar o aplicativo, a nova versão se instala automaticamente sem intervenção do dentista.

🔧 3. Como Configurar na Clínica

Ao instalar em um novo PC da clínica, você precisará configurar as credenciais e o caminho do sensor.

  1. Clique com o botão direito no ícone de "dente" verde na bandeja do relógio.
  2. Selecione "Abrir Configurações".
  3. Ele pedirá usuário e senha de administrador para evitar que funcionários desconfigurem:
    • Usuário Padrão: admin
    • Senha Padrão: admin
  4. Preencha os dados:
    • Nome da Clínica/Máquina: Identificador da máquina (Ex: Sala 01 - Matriz).
    • Pasta do Sensor: Geralmente C:\ProgramData\RF\Dental Sensor\Images. Altere de acordo com o software usado.
    • Email e Senha: Credenciais geradas no painel web para a clínica. O cliente usará para obter um Token JWT e logar no socket.
  5. Clique em Salvar e Reiniciar Monitoramento.

Obs: O arquivo de configurações fica salvo invisível aos usuários em %APPDATA%\rx.scoreodonto.com-client\config.json.


📡 4. Fluxo de Monitoramento das Imagens

Como a mágica acontece por baixo dos panos (no arquivo client-monitor.js):

  1. O aplicativo faz Login via API no backend e recebe um Token.
  2. Ele conecta no WebSocket (Socket.IO) usando esse token.
  3. Se a pasta configurada sofre uma adição (add) de arquivo .png ou .jpg, o Monitor espera 1 segundo para garantir que o software do Raio-X terminou de salvar o peso do arquivo.
  4. O cliente tenta adivinhar o Nome do Paciente a partir da estrutura de pastas (pois muitos softwares de RX salvam as fotos dentro de pastas com o nome ou ID do paciente).
  5. A imagem é encodada em Base64 e disparada pelo evento send-image do Socket para o Servidor Central.
  6. O Servidor Central (Backend) recebe a imagem, salva os metadados e imediatamente faz o upload da imagem original e de sua miniatura (thumbnail) para o armazenamento em nuvem de alta segurança Wasabi (compatível com S3), garantindo backup perpétuo e disponibilidade.
  7. Se a internet cair, o cliente exibe "Desconectado" no relógio e tenta reconectar em loop até a internet voltar.

🚀 5. Deploy e Desenvolvimento (Lançando novas versões)

Sempre que você modificar o código (index.js, client-monitor.js, etc) na VPS 4 (Linux) e quiser lançar o update para todas as clínicas:

  1. Atualizar a Versão: Abra o package.json e aumente a versão (ex: "1.2.7" -> "1.2.8").
  2. Execute o Script Mágico:
    cd /home/deploy/stack/rx.scoreodonto.com-client
    ./deploy-client.sh
    
  3. O script vai compilar a versão .exe Windows dentro do Linux e transferir os arquivos para a VPS 1 na pasta /updates. O Auto-Updater das clínicas começará a trabalhar imediatamente.
  4. Regra de Ouro (Documentação): Sempre que você implementar edições grandes (major updates) ou mudanças drásticas na arquitetura do cliente, É OBRIGATÓRIO atualizar a documentação desta Wiki para refletir o novo comportamento. A Wiki deve ficar permanentemente versionada e alinhada com o código de produção!

⚠️ 6. Solução de Problemas Comuns

  • "Desconectado do Servidor" na Bandeja: Verifique se as credenciais de e-mail e senha inseridas em "Configurações" estão corretas. Se a senha foi alterada no painel Web, precisa atualizar no cliente.
  • Erro de Autenticação na API: A apiKey de segurança deve estar igual no frontend, cliente e backend. Padrão atual: rf-dental-secure-key-2026.
  • Imagens não sobem: Confira se o caminho da "Pasta do Sensor" existe no computador da clínica. Alguns softwares salvam em C:\Arquivos de Programas ao invés de C:\ProgramData.