From d31530c7f2b94493bb7259db379043d1a6db8ea7 Mon Sep 17 00:00:00 2001 From: VPS 4 Builder Date: Fri, 29 May 2026 04:27:50 +0200 Subject: [PATCH] docs: adicionar documentacao completa do cliente windows na wiki --- Home.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/Home.md b/Home.md index e69de29..a1e0c78 100644 --- a/Home.md +++ b/Home.md @@ -0,0 +1,78 @@ +# 🖥️ 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. +6. 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:** + ```bash + 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. + +--- + +## ⚠️ 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`.