Discutez avec des personnes aléatoires sur Internet !
Back-End :
Pour mon back-end, j'ai utilisé une configuration Node/Express.js très simple. Il n'inclut aucun contrôleur ni modèle, car la fonctionnalité de l'application était relativement simple et je ne voulais pas aller trop loin avec ma configuration.
J'ai utilisé Socket.io pour ma fonctionnalité de chat en temps réel, en écoutant tout ce qui était émis par localhost:3000
. Lorsque les utilisateurs se connectent à la prise, ils analysent d'abord les salles de socket pour rechercher d'autres utilisateurs en attente d'être couplés. Si aucun autre utilisateur n'est connecté et n'attend, une nouvelle salle sera créée et l'utilisateur actuel attendra que quelqu'un d'autre le rejoigne. Les utilisateurs peuvent également quitter leur salle actuelle et rejoindre/attendre de rejoindre une autre salle avec un utilisateur différent.
L'extrémité avant:
Pour mon front-end, j'ai utilisé une implémentation React/Redux. Redux n'était en réalité utilisé que pour stocker l'utilisateur de la session en cours.
Lorsque les utilisateurs accèdent à localhost:3000
ils sont invités à saisir un nom d'utilisateur. Une fois entrés, ils sont soit associés à un autre utilisateur, soit invités à attendre qu'un autre utilisateur rejoigne le chat. Une fois rejoints, ils peuvent discuter librement avec l’autre utilisateur dans une session de chat privée. Ils peuvent taper des commandes telles que /delay 1000 message
qui attend le nombre de millisecondes saisi avant d'envoyer le message, ou /hop
qui leur permet de quitter la discussion en cours et d'en rejoindre une autre ou d'attendre qu'un autre utilisateur rejoigne la leur.
Pour commencer, c'est simple ! Accédez au répertoire du projet et tapez les commandes suivantes :
$ cd src
$ npm install
$ npm start
Vous devriez être opérationnel ! N'hésitez pas à accéder à localhost:3000
et à le vérifier !