O Dengue Tracker é uma plataforma colaborativa de monitoramento e combate à dengue. O sistema permite que cidadãos reportem focos do mosquito Aedes aegypti em tempo real, fornecendo dados georreferenciados essenciais para ações de saúde pública.
- Mapeamento Interativo: Visualização de focos em tempo real utilizando Leaflet.
- Reporte com Fotos: Upload de imagens diretamente do local do foco para melhor identificação.
- Níveis de Risco: Classificação de focos por gravidade (Baixo, Médio, Alto).
- Gamificação e Engajamento: Sistema de cadastro simplificado com feedback imediato.
- Dashboard de Estatísticas: Monitoramento de dados globais e locais sobre a propagação.
- Sistema de Autenticação Seguro: Login e registro utilizando JWT (JSON Web Tokens).
A solução utiliza uma arquitetura full-stack moderna e escalável:
- Backend (Render): API RESTful construída com Node.js e Express. Utiliza Sequelize ORM para comunicação com o banco PostgreSQL.
- Frontend (Vercel): Aplicação Single Page Application (SPA) desenvolvida com React 18 e TypeScript, otimizada pelo Vite.
Dengue-Tracker/
├── backend/ # API e Lógica de Servidor
│ ├── src/
│ │ ├── config/ # Configurações (DB, JWT, SMTP)
│ │ ├── controllers/ # Lógica de Negócio (Auth, Focos, Usuários)
│ │ ├── models/ # Modelagem do Banco de Dados
│ │ └── services/ # Serviços (Envio de E-mail)
├── frontend/ # Interface do Usuário
│ ├── src/
│ │ ├── components/ # Modais, Mapas e UI Dinâmica
│ │ ├── config/ # Configuração centralizada da API
│ │ ├── hooks/ # Hooks para consumo de dados e estatísticas
│ │ └── context/ # Gerenciamento global de autenticação
- React 18 / TypeScript / Vite
- Leaflet (Mapas Interativos)
- Lucide React (Ícones)
- CSS3 Moderno (Glassmorphism & Animações)
- Node.js / Express
- PostgreSQL / Sequelize ORM
- JWT (Autenticação)
- Nodemailer (Notificações por E-mail)
- Multer (Processamento de Uploads)
O projeto utiliza variáveis de ambiente para gerenciar diferentes contextos (Desenvolvimento/Produção).
DATABASE_URL: URL de conexão do PostgreSQL.JWT_SECRET: Chave secreta para criptografia de tokens.JWT_EXPIRES_IN: Tempo de expiração do token (ex:7d).FRONTEND_URL: URL da aplicação React no Vercel.EMAIL_USER/EMAIL_PASS: Credenciais para notificações (Gmail App Password).
VITE_API_URL: URL do backend hospedado no Render.
Atualmente o projeto está configurado para:
- Frontend: Hospedado no Vercel com integração contínua via GitHub.
- Backend: Hospedado no Render como um Web Service conectado ao PostgreSQL.
Desenvolvido com foco na saúde pública e tecnologia social.