This page was machine-translated from English. Report issues.

Como criar um rastreador e visualizador de surtos de doenças globais em tempo real

Crie um poderoso aplicativo web que visualize dados de surtos de doenças em tempo real em mapas interativos. Este projeto combina dados de várias organizações de saúde, fornecendo aos usuários informações atualizadas sobre ameaças, tendências e focos de saúde global. Perfeito para pesquisadores, profissionais de saúde e cidadãos preocupados.

Create your own plan

Learn2Vibe AI

Online

AI

What do you want to build?

Riassunto Semplice

Um visualizador de surtos de doenças em tempo real que fornece mapas interativos e análises de dados para rastrear e monitorar ameaças globais de saúde, empoderar os usuários com informações e insights oportunos.

Documento dei Requisiti del Prodotto (PRD)

Objetivos:

  • Fornecer visualização em tempo real de surtos de doenças em todo o mundo
  • Oferecer mapas interativos com informações detalhadas sobre surtos específicos
  • Permitir que os usuários rastreiem múltiplas doenças e comparem dados de surtos
  • Fornecer notificações oportunas sobre novos surtos ou atualizações significativas

Público-alvo:

  • Autoridades de saúde pública
  • Pesquisadores e epidemiologistas
  • Profissionais de saúde
  • Jornalistas e organizações de mídia
  • Público em geral interessado na saúde global

Recursos-chave:

  1. Mapa global interativo com marcadores de surtos de doenças
  2. Visualização detalhada de surtos específicos com estatísticas e tendências
  3. Ferramentas de rastreamento e comparação de múltiplas doenças
  4. Atualizações de dados em tempo real de organizações de saúde confiáveis
  5. Alertas e notificações personalizáveis
  6. Recursos de exportação e compartilhamento de dados
  7. Design responsivo para acesso móvel

Requisitos do usuário:

  • Interface intuitiva para fácil navegação e exploração de dados
  • Informações precisas e atualizadas de fontes confiáveis
  • Capacidade de filtrar e pesquisar doenças ou regiões específicas
  • Dashboard personalizável para rastreamento personalizado
  • Contas de usuário seguras para salvar preferências e receber alertas

Flussi Utente

  1. Registro e Integração de Novos Usuários:

    • O usuário visita o site e clica em "Cadastrar"
    • Insere e-mail, senha e informações básicas do perfil
    • Completa um breve processo de integração para selecionar doenças de interesse e regiões a serem monitoradas
    • É direcionado para o painel personalizado com informações relevantes sobre surtos
  2. Explorando Dados de Surtos de Doenças:

    • O usuário navega até a exibição do mapa global
    • Aplica zoom em uma região ou país específico
    • Clica nos marcadores de surto para visualizar informações detalhadas
    • Alterna entre diferentes doenças ou períodos
    • Usa filtros para refinar os dados exibidos
  3. Configurando Alertas e Notificações:

    • O usuário acessa a página de configurações de notificação
    • Seleciona doenças, regiões ou critérios de limite para alertas
    • Escolhe os métodos de notificação preferidos (e-mail, push, in-app)
    • Salva as configurações e recebe atualizações em tempo real com base nas preferências

Specifiche Tecniche

Front-end:

  • React para construir a interface do usuário
  • Mapbox GL JS ou Leaflet para mapas interativos
  • D3.js para visualizações de dados avançadas
  • Redux para gerenciamento de estado
  • Axios para solicitações de API

Back-end:

  • Node.js com Express para o servidor
  • PostgreSQL para o banco de dados principal
  • Redis para cache e atualizações em tempo real
  • Bull para enfileiramento de tarefas (busca e processamento de dados)

APIs e Serviços:

  • APIs da OMS, CDC e outras organizações de saúde para dados de surtos
  • API do Mapbox ou Google Maps para geocodificação e ladrilhos de mapa
  • SendGrid ou Mailgun para notificações por e-mail
  • Firebase Cloud Messaging para notificações push

DevOps:

  • Docker para containerização
  • GitHub Actions para CI/CD
  • AWS ou Google Cloud Platform para hospedagem

Endpoint API

  • POST /api/auth/register
  • POST /api/auth/login
  • GET /api/outbreaks
  • GET /api/outbreaks/:id
  • GET /api/diseases
  • POST /api/alerts
  • GET /api/user/dashboard
  • PUT /api/user/preferences
  • GET /api/stats/global
  • GET /api/stats/regional/:region

Schema del Database

Usuários:

  • id (PK)
  • e-mail
  • hash_da_senha
  • nome
  • criado_em
  • último_login

Surtos:

  • id (PK)
  • doença_id (FK)
  • localização
  • data_de_início
  • status
  • contagem_de_casos
  • contagem_de_mortes
  • última_atualização

Doenças:

  • id (PK)
  • nome
  • descrição
  • sintomas

Alertas de Usuário:

  • id (PK)
  • id_do_usuário (FK)
  • doença_id (FK)
  • região
  • limite
  • tipo_de_notificação

Struttura dei File

/src /components Map.js OutbreakDetails.js AlertSettings.js Dashboard.js /pages Home.js Login.js Register.js Profile.js /api outbreakService.js userService.js alertService.js /utils dataProcessing.js mapHelpers.js /styles global.css components.css /redux store.js actions/ reducers/ /public index.html assets/ /server /routes /controllers /models /services /config /scripts dataScraper.js dataProcessor.js README.md package.json Dockerfile .env.example

Piano di Implementazione

  1. Configuração do Projeto (1-2 dias)

    • Inicializar o aplicativo React e o servidor Node.js
    • Configurar controle de versão e estrutura do projeto
  2. Integração de Dados (3-4 dias)

    • Implementar a busca de dados das APIs de organizações de saúde
    • Criar scripts de processamento e armazenamento de dados
  3. Desenvolvimento do Back-end (5-7 dias)

    • Desenvolver endpoints de API
    • Configurar banco de dados e modelos
    • Implementar sistema de autenticação
  4. Estrutura Básica do Front-end (3-4 dias)

    • Criar componentes React básicos
    • Implementar roteamento e gerenciamento de estado
  5. Integração de Mapas (4-5 dias)

    • Integrar biblioteca de mapas
    • Desenvolver marcadores de mapa e interatividade
  6. Visualização de Dados (5-6 dias)

    • Criar gráficos e gráficos para dados de surtos
    • Implementar recursos de filtragem e comparação
  7. Recursos do Usuário (3-4 dias)

    • Desenvolver painel do usuário
    • Implementar sistema de alerta e notificação
  8. Testes e Refinamento (4-5 dias)

    • Conduzir testes abrangentes de todos os recursos
    • Otimizar o desempenho e corrigir bugs
  9. Preparação para Implantação (2-3 dias)

    • Configurar ambiente de hospedagem
    • Configurar pipeline de CI/CD
  10. Lançamento e Monitoramento (Contínuo)

    • Implantar a aplicação
    • Monitorar o desempenho e o feedback do usuário
    • Iterar e melhorar com base nos dados de uso

Strategia di Distribuzione

  1. Containerize a aplicação usando Docker para consistência entre ambientes
  2. Use AWS Elastic Beanstalk ou Google App Engine para escalabilidade fácil
  3. Configure um banco de dados PostgreSQL gerenciado (ex.: AWS RDS ou Google Cloud SQL)
  4. Implemente uma camada de cache Redis para melhorar o desempenho
  5. Use uma rede de distribuição de conteúdo (CDN) para ativos estáticos
  6. Implemente procedimentos de backup e recuperação de desastres
  7. Implemente ferramentas de registro e monitoramento (ex.: ELK stack, Prometheus, Grafana)
  8. Use implantação azul-verde para atualizações sem tempo de inatividade
  9. Implemente dimensionamento automático com base nos padrões de tráfego
  10. Atualize e corrija regularmente todos os sistemas para segurança

Motivazione del Design

O design se concentra em criar um aplicativo intuitivo, de alto desempenho e escalável para visualizar dados de surtos de doenças. O React foi escolhido por sua arquitetura baseada em componentes e grande ecossistema, enquanto o Node.js fornece um back-end baseado em JavaScript para consistência. O uso de mapas interativos e bibliotecas de visualização de dados garante uma experiência envolvente para o usuário. Atualizações e notificações em tempo real mantêm os usuários informados sobre mudanças críticas. A arquitetura modular e o uso de contêineres permitem fácil escalabilidade e manutenção à medida que o aplicativo cresce. Medidas de segurança, incluindo autenticação de usuário e criptografia de dados, protegem informações de saúde confidenciais.