docs: adicionar documentacao completa e versionada na pasta docs/wiki
This commit is contained in:
@@ -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`.
|
||||
Reference in New Issue
Block a user