docs: adicionar documentacao completa e versionada na pasta docs/wiki

This commit is contained in:
VPS 4 Builder
2026-05-29 04:27:01 +02:00
parent f3f4b66fec
commit 53bbb1b941
+78
View File
@@ -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`.