Skip to content

Daviran/EpiChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epichat: Un projet IRC

Etudiant d'EPITECH, attention, le plagiat est sanctionné !

Stack

Mern stack

La stack technique se compose donc de MongoDB ( via Atlas ), ExpressJs(framework node) , ReactJs (côté client) et Nodejs côté serveur.

But du projet

Dans ce projet, nous avons dû créer un serveur IRC en NodeJS et ExpressJS, et un client en ReactJS. Socket.io s'occupera de la gestion des messages.

Le serveur devra accepter plusieurs connexions simultanées et implémenter la notion de canaux :

  • il doit être possible de rejoindre plusieurs canaux simultanément,
  • il doit être possible de créer, renommer et supprimer des canaux
  • un message doit être affiché lorsqu'un utilisateur rejoint ou quitte un canal.
  • les utilisateurs doivent, bien entendu, pouvoir s'exprimer dans les canaux qu'ils ont rejoints.

Les canaux et les messages doivent être préservés de manière persistante.

Du côté client, chaque utilisateur doit pouvoir effectuer les actions suivantes (en utilisant la commande spécifiée en chat, et en utilisant l'interface) :
- /nick pseudo : définir le pseudo de l'utilisateur sur le serveur.
- /list [string] : liste les canaux disponibles sur le serveur. Si la chaîne est spécifiée, seuls ceux dont le dont le nom contient la chaîne.
- /create channel : crée un canal avec le nom spécifié.
- /delete channel : supprime le canal avec le nom spécifié.
- /join channel : joindre le canal spécifié.
- /quit channel : quitte le canal spécifié.
- /users : liste les utilisateurs actuellement dans le canal.
- /msg nickname message : envoie un message privé au nickname spécifié.
- message : envoie un message à tous les utilisateurs du canal.


Setup : on se place à la racine en terminal (! Nécessite docker et docker-compose) puis :

Installer d'abord Docker et également Docker-compose.

Puis, on clone le projet et à la racine de ce projet on exécute la commande suivante: docker-compose up --build

Le résultat sera disponible sur http://localhost:3000
Le projet étant sous container docker, il n'est pas nécessaire d'installer la stack MERN pour pouvoir accéder à l'application.
La database est sous MongoDB Atlas qui est, pour faire simple, MongoDB dans le cloud.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published