epidemic-simulator

Simulador de Propagação Epidêmica Profissional

Uma aplicação web interativa para modelagem de espalhamento de doenças infecciosas usando o modelo epidemiológico SEIR (Suscetíveis-Expostos-Infetados-Recuperados).

🎯 Objetivo

Permitir que gestores de saúde, epidemiologistas e pesquisadores modelem o comportamento de epidemias sob diferentes cenários de intervenção, capacidade hospitalar e características da doença.

✨ Funcionalidades Principais

Motor de Simulação SEIR

Painel de Parâmetros Interativo

Visualizações Avançadas

Métricas de Resumo

🏗️ Arquitetura

epidemic-simulator/
├── client/
│   ├── src/
│   │   ├── components/
│   │   │   ├── ParameterPanel.tsx      # Painel de entrada de parâmetros
│   │   │   ├── SEIRChart.tsx           # Gráfico interativo
│   │   │   └── SummaryMetrics.tsx      # Cards de métricas
│   │   ├── lib/
│   │   │   └── seir-simulator.ts       # Motor de simulação SEIR
│   │   ├── pages/
│   │   │   └── Home.tsx                # Página principal
│   │   ├── App.tsx                     # Roteamento
│   │   ├── main.tsx                    # Entry point
│   │   └── index.css                   # Estilos globais
│   ├── index.html                      # Template HTML
│   └── public/                         # Arquivos estáticos
├── server/
│   └── index.ts                        # Servidor Express (produção)
├── package.json                        # Dependências
└── README.md                           # Este arquivo

🎨 Design

Filosofia: Minimalismo Científico com foco em clareza e profissionalismo

🚀 Como Usar

Instalação Local

# Clonar repositório
git clone https://github.com/seu-usuario/calculadora-epidemica.git
cd calculadora-epidemica

# Instalar dependências
pnpm install

# Iniciar servidor de desenvolvimento
pnpm dev

Acesse http://localhost:3000 no navegador.

Usando a Aplicação

  1. Ajuste os Parâmetros no painel esquerdo usando os sliders
  2. Visualize os Resultados em tempo real no gráfico central
  3. Analise as Métricas nos cards de resumo
  4. Interprete os Alertas se a capacidade hospitalar for excedida

Exemplos de Cenários

Cenário 1: Sem Intervenção

Cenário 2: Com Isolamento Precoce

Cenário 3: Isolamento Tardio

📊 Modelo SEIR

O modelo SEIR divide a população em 4 compartimentos:

Equações Diferenciais

dS/dt = -β * S * I / N
dE/dt = β * S * I / N - σ * E
dI/dt = σ * E - γ * I
dR/dt = γ * I

Onde:

⚙️ Tecnologia

📋 Dependências Principais

{
  "react": "^19.2.1",
  "recharts": "^2.15.2",
  "tailwindcss": "^4.1.14",
  "lucide-react": "^0.453.0",
  "shadcn/ui": "^1.0.0"
}

🔧 Desenvolvimento

Scripts Disponíveis

# Desenvolvimento
pnpm dev

# Build para produção
pnpm build

# Preview da build
pnpm preview

# Verificar tipos TypeScript
pnpm check

# Formatar código
pnpm format

Estrutura de Componentes

Estender o Projeto

Para adicionar novos parâmetros:

  1. Adicione ao tipo SEIRParameters em seir-simulator.ts
  2. Crie um novo slider em ParameterPanel.tsx
  3. Use o novo parâmetro na função simulateEpidemic()

⚠️ Limitações e Avisos

Esta simulação é uma aproximação matemática baseada no modelo SEIR. Resultados reais dependem de múltiplos fatores não capturados:

Use este simulador apenas para:

Não use para:

📚 Referências

🤝 Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Faça um fork do repositório
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

👨‍💻 Autor

Desenvolvido como ferramenta educacional para gestores de saúde e pesquisadores em epidemiologia.

📧 Suporte

Para dúvidas, sugestões ou relatórios de bugs, abra uma issue no repositório GitHub.


Última atualização: Maio 2026

Versão: 1.0.0