
Uma plataforma de inteligência epidemiológica dedicada à monitorização em tempo real de surtos de doenças e emergências de saúde pública, com foco especial no continente africano.
Uma plataforma de inteligência epidemiológica dedicada à monitorização em tempo real de surtos de doenças e emergências de saúde pública, com foco especial no continente africano.
🚧 Estado: Em construção | Em pausa temporária (feedback técnico bem-vindo)
Informações sobre surtos de doenças e emergências de saúde pública em África estão fragmentadas e difíceis de aceder. O OutbreakAfrica resolve isto agregando dados fiáveis e tornando-os acessíveis para:
Frontend + API Routes
├─ Next.js (App Router)
└─ React + TypeScript
Backend
└─ Cloudflare Workers (Proxy seguro)
Fonte de Dados
└─ ReliefWeb API
| Tecnologia | Propósito |
|---|---|
| Next.js | Framework fullstack (Frontend + API Routes) |
| TypeScript | Type-safety e melhor experiência de desenvolvimento |
| Cloudflare Workers | Proxy seguro para a ReliefWeb API |
| ReliefWeb API | Fonte de dados de surtos e emergências |
A ReliefWeb API exige headers específicos que o Next.js server-side não passava corretamente.
Solução: Um Cloudflare Worker como intermediário que:
Cliente (Navegador)
↓
Next.js API Routes
↓
Cloudflare Worker (intermediário seguro)
↓
ReliefWeb API
# Clone o repositório git clone https://github.com/xmaj2001/OutbreakAfrica.git cd OutbreakAfrica # Instale as dependências npm install # Configure as variáveis de ambiente cp .env.example .env.local # Execute em desenvolvimento npm run dev
Aceda a http://localhost:3000 no seu navegador.
/src/worker)NEXT_PUBLIC_WORKER_URL=https://seu-worker.seu-dominio.workers.dev
OutbreakAfrica/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── page.tsx # Página inicial
│ │ ├── layout.tsx # Layout raiz
│ │ └── api/ # API Routes
│ ├── components/ # Componentes React reutilizáveis
│ ├── hooks/ # React Hooks customizados
│ └── lib/ # Utilitários, helpers e funções
├── public/ # Arquivos estáticos
├── .preview/ # Ficheiros de preview/demo
├── biome.json # Configuração do Biome (linter + formatter)
├── components.json # Configuração do shadcn/ui
├── next.config.ts # Configuração do Next.js
├── tsconfig.json # Configuração do TypeScript
├── postcss.config.mjs # Configuração do PostCSS
├── package.json # Dependências do projeto
└── README.md # Este ficheiro
src/app/ — Estrutura de rotas do Next.js (App Router). Cada pasta/ficheiro é uma rota.src/components/ — Componentes React reutilizáveis (ex: cards, filtros, headers)src/hooks/ — Custom React Hooks para lógica reutilizávelsrc/lib/ — Funções utilitárias, integrações com APIs, helpers TypeScriptpublic/ — Imagens, ícones e outros recursos estáticos servidos na raizEste é um projeto open-source. Contribuições são bem-vindas!
git checkout -b feature/MinhaFeature)git commit -m 'Add MinhaFeature')git push origin feature/MinhaFeature)Feedback técnico é especialmente bem-vindo! 👇
MIT License — Veja o ficheiro LICENSE para detalhes.
xmaj2001 — @GitHub
#Cloudflare #CloudflareWorkers #NextJS #HealthData #Africa #SideProject #DevLearning