Chatten Sie mit zufälligen Leuten im Internet!
Back-End:
Für mein Backend habe ich ein sehr einfaches Node/Express.js-Setup verwendet. Es enthält keine Controller oder Modelle, da die App-Funktionalität relativ einfach war und ich es bei meiner Einrichtung nicht übertreiben wollte.
Ich habe Socket.io für meine Echtzeit-Chat-Funktionalität verwendet und alles abgehört, was von localhost:3000
ausgegeben wird. Wenn Benutzer eine Verbindung zum Socket herstellen, scannen sie zunächst die Socket-Räume, um nach anderen Benutzern zu suchen, die auf die Kopplung warten. Wenn kein anderer Benutzer verbunden ist und wartet, wird ein neuer Raum erstellt und der aktuelle Benutzer wartet darauf, dass jemand anderes beitritt. Benutzer können auch ihren aktuellen Raum verlassen und einem anderen Raum mit einem anderen Benutzer beitreten bzw. darauf warten, diesem beizutreten.
Frontend:
Für mein Frontend habe ich eine React/Redux-Implementierung verwendet. Redux wurde eigentlich nur zum Speichern des Benutzers der aktuellen Sitzung verwendet.
Wenn Benutzer zu localhost:3000
navigieren, werden sie aufgefordert, einen Benutzernamen einzugeben. Nach der Eingabe werden sie entweder mit einem anderen Benutzer gepaart oder müssen warten, bis ein anderer Benutzer dem Chat beitritt. Sobald sie beigetreten sind, können sie in einer privaten Chat-Sitzung frei mit dem anderen Benutzer chatten. Sie können Befehle wie /delay 1000 message
eingeben, das die eingegebene Zeit in Millisekunden abwartet, bevor die Nachricht gesendet wird, oder /hop
, mit dem sie den aktuellen Chat verlassen und einem anderen beitreten oder darauf warten können, dass ein anderer Benutzer ihrem beitritt.
Der Einstieg ist einfach! Navigieren Sie zum Projektverzeichnis und geben Sie die folgenden Befehle ein:
$ cd src
$ npm install
$ npm start
Sie sollten startklar sein! Navigieren Sie gerne zu localhost:3000
und probieren Sie es aus!