So erstellen Sie einen Echtzeit-Tracker und Visualisierer für globale Krankheitsausbrüche
Erstellen Sie eine leistungsfähige Webanwendung, die Echtzeit-Daten zu Krankheitsausbrüchen auf interaktiven Karten visualisiert. Dieses Projekt kombiniert Daten mehrerer Gesundheitsorganisationen und bietet Benutzern aktuelle Informationen zu globalen Gesundheitsbedrohungen, -trends und Hotspots. Perfekt für Forscher, Gesundheitsexperten und interessierte Bürger.
Learn2Vibe AI
Online
What do you want to build?
Einfache Zusammenfassung
Ein Echtzeit-Visualisierer für Krankheitsausbrüche, der interaktive Karten und Datenanalysen bietet, um globale Gesundheitsbedrohungen zu verfolgen und zu überwachen, und Benutzer mit zeitnahen Informationen und Erkenntnissen versorgt.
Produktanforderungsdokument (PRD)
Ziele:
- Bieten Sie eine Echtzeit-Visualisierung von Krankheitsausbrüchen weltweit
- Bieten Sie interaktive Karten mit detaillierten Informationen zu spezifischen Ausbrüchen
- Ermöglichen Sie es Benutzern, mehrere Krankheiten zu verfolgen und Ausbruchsdaten zu vergleichen
- Liefern Sie rechtzeitige Benachrichtigungen über neue Ausbrüche oder wichtige Aktualisierungen
Zielgruppe:
- Mitarbeiter im öffentlichen Gesundheitswesen
- Forscher und Epidemiologen
- Gesundheitsdienstleister
- Journalisten und Medienorganisationen
- Allgemeine Öffentlichkeit mit Interesse an globaler Gesundheit
Schlüsselmerkmale:
- Interaktive Weltkarte mit Markierungen für Krankheitsausbrüche
- Detaillierte Ansicht spezifischer Ausbrüche mit Statistiken und Trends
- Tools zum Verfolgen und Vergleichen mehrerer Krankheiten
- Echtzeit-Datenupdates von zuverlässigen Gesundheitsorganisationen
- Anpassbare Warnungen und Benachrichtigungen
- Möglichkeiten zum Exportieren und Teilen von Daten
- Mobil-responsives Design für Zugriff unterwegs
Benutzeranforderungen:
- Intuitive Oberfläche für einfache Navigation und Datenexploration
- Genaue und aktuelle Informationen aus glaubwürdigen Quellen
- Möglichkeit zum Filtern und Suchen nach spezifischen Krankheiten oder Regionen
- Anpassbares Dashboard für personalisierte Verfolgung
- Sichere Benutzerkonten zum Speichern von Präferenzen und Empfangen von Warnungen
Benutzerflüsse
-
Registrierung und Onboarding neuer Benutzer:
- Benutzer besucht die Website und klickt auf "Registrieren"
- Gibt E-Mail, Passwort und grundlegende Profilinformationen ein
- Durchläuft einen kurzen Onboarding-Prozess, um Krankheiten von Interesse und zu überwachende Regionen auszuwählen
- Gelangt auf ein personalisiertes Dashboard mit relevanten Ausbruchsinformationen
-
Erkundung von Daten zu Krankheitsausbrüchen:
- Benutzer navigiert zur globalen Kartenansicht
- Zoomt in eine bestimmte Region oder ein Land hinein
- Klickt auf Ausbruchsmarkierungen, um detaillierte Informationen anzuzeigen
- Schaltet zwischen verschiedenen Krankheiten oder Zeiträumen um
- Verwendet Filter, um die angezeigten Daten zu verfeinern
-
Einrichten von Warnungen und Benachrichtigungen:
- Benutzer greift auf die Benachrichtigungseinstellungen zu
- Wählt Krankheiten, Regionen oder Schwellenwertkriterien für Warnungen aus
- Wählt bevorzugte Benachrichtigungsmethoden (E-Mail, Push, in-App)
- Speichert die Einstellungen und erhält Echtzeit-Updates basierend auf den Präferenzen
Technische Spezifikationen
Frontend:
- React zum Erstellen der Benutzeroberfläche
- Mapbox GL JS oder Leaflet für interaktive Karten
- D3.js für erweiterte Datenvisualisierungen
- Redux für Zustandsverwaltung
- Axios für API-Anfragen
Backend:
- Node.js mit Express für den Server
- PostgreSQL für die Hauptdatenbank
- Redis für Caching und Echtzeit-Updates
- Bull für Auftragswarteschlangen (Datenabfrage und -verarbeitung)
APIs und Dienste:
- APIs von WHO, CDC und anderen Gesundheitsorganisationen für Ausbruchsdaten
- Mapbox- oder Google Maps-API für Geocodierung und Kartenkacheln
- SendGrid oder Mailgun für E-Mail-Benachrichtigungen
- Firebase Cloud Messaging für Push-Benachrichtigungen
DevOps:
- Docker für die Containerisierung
- GitHub Actions für CI/CD
- AWS oder Google Cloud Platform für das Hosting
API-Endpunkte
- 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
Datenbankschema
Benutzer:
- id (PK)
- password_hash
- name
- created_at
- last_login
Ausbrüche:
- id (PK)
- disease_id (FK)
- Standort
- Startdatum
- Status
- Fallzahl
- Todesfälle
- Letzte Aktualisierung
Krankheiten:
- id (PK)
- Name
- Beschreibung
- Symptome
Benutzerbenachrichtigungen:
- id (PK)
- user_id (FK)
- disease_id (FK)
- Region
- Schwellenwert
- Benachrichtigungstyp
Dateistruktur
/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
Implementierungsplan
-
Projekteinrichtung (1-2 Tage)
- Initialisieren Sie die React-App und den Node.js-Server
- Richten Sie Versionskontrolle und Projektstruktur ein
-
Datenintegration (3-4 Tage)
- Implementieren Sie das Abrufen von Daten aus Gesundheitsorganisations-APIs
- Erstellen Sie Skripte zur Datenverarbeitung und -speicherung
-
Backend-Entwicklung (5-7 Tage)
- Entwickeln Sie API-Endpunkte
- Richten Sie Datenbank und Modelle ein
- Implementieren Sie das Authentifizierungssystem
-
Frontend-Basisstruktur (3-4 Tage)
- Erstellen Sie grundlegende React-Komponenten
- Implementieren Sie Routing und Zustandsverwaltung
-
Kartenintegration (4-5 Tage)
- Integrieren Sie die Kartenbibliothek
- Entwickeln Sie Kartensymbole und Interaktivität
-
Datenvisualisierung (5-6 Tage)
- Erstellen Sie Diagramme und Grafiken für Ausbruchsdaten
- Implementieren Sie Filter- und Vergleichsfunktionen
-
Benutzermerkmale (3-4 Tage)
- Entwickeln Sie ein Benutzerdashboard
- Implementieren Sie das Warn- und Benachrichtigungssystem
-
Testen und Verfeinerung (4-5 Tage)
- Führen Sie gründliche Tests aller Funktionen durch
- Optimieren Sie die Leistung und beheben Sie Fehler
-
Vorbereitung auf die Bereitstellung (2-3 Tage)
- Richten Sie die Hosting-Umgebung ein
- Konfigurieren Sie die CI/CD-Pipeline
-
Start und Überwachung (laufend)
- Stellen Sie die Anwendung bereit
- Überwachen Sie Leistung und Benutzerfeedback
- Iterieren und verbessern Sie basierend auf Nutzungsdaten
Bereitstellungsstrategie
- Containerisieren Sie die Anwendung mit Docker für Konsistenz über Umgebungen hinweg
- Verwenden Sie AWS Elastic Beanstalk oder Google App Engine für einfache Skalierbarkeit
- Richten Sie eine verwaltete PostgreSQL-Datenbank ein (z.B. AWS RDS oder Google Cloud SQL)
- Implementieren Sie eine Redis-Caching-Schicht für bessere Leistung
- Verwenden Sie ein Content Delivery Network (CDN) für statische Assets
- Richten Sie automatische Sicherungen und Disaster-Recovery-Verfahren ein
- Implementieren Sie Logging- und Überwachungswerkzeuge (z.B. ELK-Stack, Prometheus, Grafana)
- Verwenden Sie Blue-Green-Deployment für unterbrechungsfreie Updates
- Implementieren Sie automatische Skalierung basierend auf Verkehrsmustern
- Aktualisieren und patchen Sie alle Systeme regelmäßig für mehr Sicherheit
Designbegründung
Das Design konzentriert sich darauf, eine benutzerfreundliche, leistungsfähige und skalierbare Anwendung zur Visualisierung von Krankheitsausbruchsdaten zu schaffen. React wurde aufgrund seiner komponentenbasierten Architektur und seines großen Ökosystems gewählt, während Node.js einen JavaScript-basierten Backend-Bereich für Konsistenz bietet. Der Einsatz von interaktiven Karten und Datenvisualisierungsbibliotheken sorgt für ein ansprechendes Benutzererlebnis. Echtzeit-Updates und Benachrichtigungen halten Benutzer über kritische Änderungen auf dem Laufenden. Die modulare Architektur und der Einsatz von Containern ermöglichen ein einfaches Skalieren und Warten, wenn die Anwendung wächst. Sicherheitsmaßnahmen wie Benutzerauthentifizierung und Datenverschlüsselung schützen vertrauliche Gesundheitsinformationen.