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

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.

Create your own plan

Learn2Vibe AI

Online

AI

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:

  1. Interaktive Weltkarte mit Markierungen für Krankheitsausbrüche
  2. Detaillierte Ansicht spezifischer Ausbrüche mit Statistiken und Trends
  3. Tools zum Verfolgen und Vergleichen mehrerer Krankheiten
  4. Echtzeit-Datenupdates von zuverlässigen Gesundheitsorganisationen
  5. Anpassbare Warnungen und Benachrichtigungen
  6. Möglichkeiten zum Exportieren und Teilen von Daten
  7. 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

  1. 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
  2. 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
  3. 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)
  • e-mail
  • 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

  1. Projekteinrichtung (1-2 Tage)

    • Initialisieren Sie die React-App und den Node.js-Server
    • Richten Sie Versionskontrolle und Projektstruktur ein
  2. Datenintegration (3-4 Tage)

    • Implementieren Sie das Abrufen von Daten aus Gesundheitsorganisations-APIs
    • Erstellen Sie Skripte zur Datenverarbeitung und -speicherung
  3. Backend-Entwicklung (5-7 Tage)

    • Entwickeln Sie API-Endpunkte
    • Richten Sie Datenbank und Modelle ein
    • Implementieren Sie das Authentifizierungssystem
  4. Frontend-Basisstruktur (3-4 Tage)

    • Erstellen Sie grundlegende React-Komponenten
    • Implementieren Sie Routing und Zustandsverwaltung
  5. Kartenintegration (4-5 Tage)

    • Integrieren Sie die Kartenbibliothek
    • Entwickeln Sie Kartensymbole und Interaktivität
  6. Datenvisualisierung (5-6 Tage)

    • Erstellen Sie Diagramme und Grafiken für Ausbruchsdaten
    • Implementieren Sie Filter- und Vergleichsfunktionen
  7. Benutzermerkmale (3-4 Tage)

    • Entwickeln Sie ein Benutzerdashboard
    • Implementieren Sie das Warn- und Benachrichtigungssystem
  8. Testen und Verfeinerung (4-5 Tage)

    • Führen Sie gründliche Tests aller Funktionen durch
    • Optimieren Sie die Leistung und beheben Sie Fehler
  9. Vorbereitung auf die Bereitstellung (2-3 Tage)

    • Richten Sie die Hosting-Umgebung ein
    • Konfigurieren Sie die CI/CD-Pipeline
  10. Start und Überwachung (laufend)

    • Stellen Sie die Anwendung bereit
    • Überwachen Sie Leistung und Benutzerfeedback
    • Iterieren und verbessern Sie basierend auf Nutzungsdaten

Bereitstellungsstrategie

  1. Containerisieren Sie die Anwendung mit Docker für Konsistenz über Umgebungen hinweg
  2. Verwenden Sie AWS Elastic Beanstalk oder Google App Engine für einfache Skalierbarkeit
  3. Richten Sie eine verwaltete PostgreSQL-Datenbank ein (z.B. AWS RDS oder Google Cloud SQL)
  4. Implementieren Sie eine Redis-Caching-Schicht für bessere Leistung
  5. Verwenden Sie ein Content Delivery Network (CDN) für statische Assets
  6. Richten Sie automatische Sicherungen und Disaster-Recovery-Verfahren ein
  7. Implementieren Sie Logging- und Überwachungswerkzeuge (z.B. ELK-Stack, Prometheus, Grafana)
  8. Verwenden Sie Blue-Green-Deployment für unterbrechungsfreie Updates
  9. Implementieren Sie automatische Skalierung basierend auf Verkehrsmustern
  10. 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.