# 🦷 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