ChatConnect ist eine Echtzeit-Chatanwendung, die Benutzern ermöglicht, Textnachrichten in Echtzeit auszutauschen. Unser Hauptziel bei diesem Projekt ist es, eine benutzerfreundliche und zuverlässige Plattform für die Online-Kommunikation bereitzustellen. ChatConnect zeichnet sich durch seine vollständige Responsive-Funktionalität aus. Das bedeutet, dass die Anwendung reibungslos auf verschiedenen Geräten und Bildschirmgrößen funktioniert.
Folgende Funktionen werden abgedeckt:
Benutzer haben die Möglichkeit, sich über ein intuitives Registrierungsformular anzumelden und sich mit ihren Anmeldeinformationen einzuloggen. Dies gewährleistet die Sicherheit und die Personalisierung der Chat-Erfahrung.
ChatConnect ermöglicht Benutzern das Senden und Empfangen von Textnachrichten in Echtzeit. Dies ermöglicht reibungslose Konversationen zwischen Benutzern, unabhängig von ihrer geografischen Lage.
Die Anwendung bietet die Möglichkeit, Benutzer nach Namen zu filtern. Dies erleichtert das Auffinden von Gesprächspartnern und früheren Unterhaltungen.
Alle Daten, einschließlich Nachrichten, Chat-Verläufe und Benutzerinformationen, werden konsistent in einer Datenbank gespeichert. Dies gewährleistet die Integrität der Daten und ermöglicht eine einfache Verwaltung und Sicherung.
-
Frontend: Die Benutzeroberfläche wurde mit React erstellt.
-
Backend: Das Backend wurde mit der Programmiersprache Node.js und dem Framework Express.js entwickelt.
-
Datenbank: MongoDB wird zur sicheren und zuverlässigen Speicherung der Daten verwendet.
-
Testing: Jest wird als Testframework genutzt.
-
Echtzeit-Kommunikation: WebSocket-Technologie wird verwendet, um Echtzeit-Nachrichtenübertragung zu ermöglichen.
-
Sicherheit: Die Anwendung besitzt Sicherheitsmaßnahmen wie Verschlüsselung und Authentifizierung, um die Benutzerdaten zu schützen.
-
Dokumentation: Für das Backend wurde Swagger, für das Frontend JSDOC genutzt.
Um ChatConnect zu verwenden, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:
-
Docker und Docker Compose
-
Node.js und npm
Wenn die Anwendung mit einem der folgenden Verfahren gestartet wurde, können Sie das Frontend unter http://localhost:3030 und das Backend unter http://localhost:4040 abrufen.
Um weitere Chatteilnahmer lokal zu simulieren, öffnen Sie ein privates Browserfenster und/oder starten Sie einen anderen Browser.
Wechsle in das root-directory und führe folgenden Befehl aus:
docker-compose up -dSie können Backend-, sowie Frontendservice auch über das im jeweiligen Ordner liegende Dockerfile starten, wenn Sie das möchten.
Wechsle vom root-directory in das backend-directory und Erstelle ein Docker-Image für das Backend.
docker build -t chatconnect-backend .Starte das Backend im Docker-Container.
docker run -d -p 4040:4040 chatconnect-backendWechsle in das jeweilige service-directory und führe folgende Befehle aus:
npm install
npm testFüge -- --coverage bei npm test hinzu und du erhältst eine Übersicht über die Testcoverage des Projekts.
Ebenso entsteht ein coverage-directory in dem du in coverage\lcov-report eine index.html findest, welche dir eine Browseransicht der Testcoverage ermöglicht.
Nachdem du das Backend gestartet hast, findest du die Dokumentation der API-Calls unter http://localhost:4040/api-docs/.
