Files
rx.scoreodonto.com/dental-server/README.md
T
2026-05-24 04:57:33 +02:00

189 lines
4.6 KiB
Markdown

# 🦷 Dental Image Server v2.0
Sistema completo de gerenciamento de imagens dentais com interface web moderna e responsiva.
## 🎯 Características
### ✅ Interface Web Completa
- **Gerenciador de imagens** com grid responsivo
- **Busca em tempo real** por paciente ou GUID
- **Preview de imagens** com informações completas
- **Design moderno** e totalmente responsivo
### ✅ Sistema de Transformações
- **5 opções de transformação:**
- Original
- Rotação -90°
- Rotação +90°
- Flip Horizontal
- Flip Vertical
- **Processamento server-side** com Sharp
- **Preview instantâneo** antes de salvar
### ✅ Gerenciamento de Pacientes
- **Configuração de dados do dente:**
- Nome resumido do paciente
- Número do dente (1-52)
- Lado (inicial/final)
- **Download personalizado** com nome estruturado
- **Controle de versões** (mantém sempre a original)
### ✅ Controle Total
- **Habilitar/Desabilitar** imagens
- **Excluir versões** (nunca a original)
- **Filtrar por status** (habilitadas/desabilitadas)
- **Estatísticas** em tempo real
### ✅ Socket.IO em Tempo Real
- **Recebimento instantâneo** de novas imagens
- **Notificações** ao usuário
- **Auto-refresh** da interface
### ✅ Sistema de Autenticação
- **Login seguro** com JWT
- **Sessões** persistentes
- **Proteção** de rotas administrativas
## 📦 Estrutura
```
dental-server/
├── server.js # Arquivo principal
├── database.js # Conexão MySQL
├── image-processor.js # Processamento de imagens
├── package.json # Dependências
├── .env # Configurações
├── routes/
│ └── images.js # API de imagens
├── public/
│ ├── index.html # Interface web
│ ├── style.css # Estilos
│ └── app.js # JavaScript
├── installer/
│ └── check-installation.js
├── migration-v2.sql # Migration do banco
└── INSTALACAO-DENTAL-SERVER.md
```
## 🚀 Instalação Rápida
### 1. Upload de Arquivos
Faça upload de todos os arquivos para `/www/wwwroot/dental-server`
### 2. Instalar Dependências
```bash
cd /www/wwwroot/dental-server
npm install
```
### 3. Configurar `.env`
```env
PORT=3000
JWT_SECRET=sua_chave_secreta
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=sua_senha_mysql
DB_NAME=dental_images
UPLOAD_DIR=/www/wwwroot/dental-server/uploads
PROCESSED_DIR=/www/wwwroot/dental-server/processed
```
### 4. Executar Migration
```bash
mysql -u root -p dental_images < migration-v2.sql
```
### 5. Iniciar PM2
```bash
pm2 start server.js --name dental-server
pm2 save
```
### 6. Configurar Nginx
Adicione proxy reverso para `localhost:3000` e configuração para Socket.IO.
Ver instruções completas em **INSTALACAO-DENTAL-SERVER.md**
## 🔌 APIs Disponíveis
### Imagens
- `GET /api/images` - Listar imagens
- `GET /api/images/:id` - Buscar imagem
- `GET /api/images/:id/transformations` - Gerar transformações
- `POST /api/images/:id/transform` - Salvar transformação
- `PUT /api/images/:id/patient-info` - Atualizar dados do paciente
- `GET /api/images/:id/download` - Download da imagem
- `DELETE /api/images/:id` - Apagar versão
- `PUT /api/images/:id/toggle-enabled` - Habilitar/Desabilitar
### Socket.IO
- `client-identify` - Identificar cliente
- `send-image` - Enviar imagem
- `new-image` - Nova imagem recebida
## 🛠️ Tecnologias
- **Node.js** 16+
- **Express** 4.18+
- **Socket.IO** 4.7+
- **Sharp** 0.32+ (processamento de imagens)
- **MySQL** (banco de dados)
- **bcrypt** (senhas)
- **JWT** (autenticação)
## 📱 Responsividade
Interface totalmente responsiva:
- ✅ Desktop (1920px+)
- ✅ Tablet (768px - 1919px)
- ✅ Mobile (320px - 767px)
## 🔒 Segurança
- ✅ Senhas hash com bcrypt
- ✅ Autenticação JWT
- ✅ Validação de uploads
- ✅ Sanitização de inputs
- ✅ Proteção CSRF
## 📊 Banco de Dados
### Tabela `images`
```sql
- id (INTEGER PRIMARY KEY)
- image_guid (TEXT)
- patient_name (TEXT)
- original_filename (TEXT)
- filename (TEXT)
- enabled (INTEGER DEFAULT 1)
- tooth_number (VARCHAR)
- tooth_side (VARCHAR)
- patient_name_resumed (VARCHAR)
- original_image_id (INTEGER)
- rotation (INTEGER)
- flip_horizontal (INTEGER)
- flip_vertical (INTEGER)
- created_at (DATETIME)
```
Execute `migration-v2.sql` no MySQL para criar/atualizar banco existente.
## 🐛 Troubleshooting
Ver seção **TROUBLESHOOTING** em INSTALACAO-DENTAL-SERVER.md
## 📄 Licença
MIT
## 👨‍💻 Autor
**Rcesar**
Desenvolvido para sistema de radiografia dental
---
**Versão:** 2.0.0
**Última atualização:** 2025-01-26