Zurück zu Projekten
Echtzeit-Chat für eine Klienten-Arzt-App

Healthcare PWA Chat-Integration

Herausforderung

Eine Healthcare-Webanwendung zur Kommunikation zwischen Klienten und Ärzten fehlte ihre zentrale Funktion – ein Echtzeit-Chat – mit einem nahenden harten Deadline. Die bestehende Codebasis war eine React PWA mit NestJS/Amplication-Backend, beide ohne Tests oder Qualitätssicherung. Der Kunde hatte keine Tool-Strategie und benötigte sowohl eine Technologieempfehlung als auch eine vollständige Implementierung.

Lösung

Ich recherchierte und evaluierte Chat-Lösungen mit React-Unterstützung (u. a. GetStream.io und RocketChat), präsentierte die Ergebnisse dem Kunden und leitete die Integration von RocketChat. Ich erweiterte das bestehende Docker-Compose-Setup um RocketChat auf der vorhandenen MongoDB-Instanz, deaktivierte die Selbstregistrierung und implementierte die automatische Nutzeranlage in RocketChat bei Login und Registrierung. Im NestJS-Backend baute ich Proxy-Endpunkte für Chat-Raum-Erstellung und Nachrichtenversand, abgedeckt durch Jest-Unit-Tests. Im Frontend implementierte ich eine eigene RocketChat-WebSocket-Verbindung für Echtzeit-Messaging innerhalb des bestehenden UI-Designs.

Ergebnis

Die Chat-Funktion wurde termingerecht geliefert und vollständig in die bestehende Anwendung integriert. Die NestJS-Endpunkte wurden erstmalig mit Jest-Unit-Tests abgesichert. Die Lösung hält die Nutzerverwaltung zentralisiert und Echtzeit-Messaging performant durch eine direkte WebSocket-Verbindung.

Entwickelt mit

ReactNestJSRocketChatWebSocketsMongoDBJestPWA

Projektübersicht

Dieses NDA-geschützte Projekt umfasste die Integration eines Echtzeit-Chat-Systems in eine bestehende React-Progressive-Web-App für Klienten und Gesundheitsfachkräfte. Die App verwaltete Nutzerdaten beider Rollen und benötigte einen Kommunikationskanal zwischen ihnen. Der Projektumfang war klar definiert: die richtige Chat-Technologie auswählen und unter Zeitdruck vollständig implementieren.

Funktionen

  • RocketChat via Docker in die bestehende Infrastruktur integriert
  • Automatische RocketChat-Nutzeranlage bei Registrierung und Login
  • NestJS-Proxy-Endpunkte für Chat-Raum-Erstellung, Nachrichtenhandling und Business-Logik
  • Eigene WebSocket-Client-Implementierung für Echtzeit-Messaging im React-Frontend
  • Jest-Unit-Tests für alle neuen NestJS-Endpunkte mit Dependency Injection und Module Mocking

Technische Highlights

Das Backend wurde mit Amplication generiert und nutzte bereits MongoDB, was die gemeinsame Nutzung derselben Datenbankinstanz mit RocketChat vereinfachte. Statt RocketChats vorgefertigter UI implementierte ich die WebSocket-Verbindung manuell, um das bestehende Interface-Design des Kunden zu respektieren. NestJS' Modulsystem und Dependency Injection ermöglichten isolierte Unit-Tests für die neuen Proxy-Endpunkte – die erste Testabdeckung im gesamten Projekt.

Kontakt aufnehmen

Lass uns etwas Großartiges bauen, schreib mir eine Nachricht:

Oder verbinde dich über soziale Medien