Project is a chat IRC with the following specifications:
- The server must be able to accept multiple connections at the same times (i.e multiple users connected to the chat at the same time)
- The chat must include channels which can be joined simultaneously by the user
- The user must be able to create and delete channels
- A message must be displayed when user joins or leaves a channel
- User must be able to post on channels they joined
- Channels and messages must be persistent (i.e. stored, be it in a file or a database)
- The user must enter a nickname before joining the chat
- Client and server must communicate
In addition, the following command must be implemented:
- /nick : change the nickname of the user
- /join <#channel> : join a channel
- /quit <#channel> : leave a channel
- /create <#channel> : create a channel
- /delete <#channel> : delete a channel
- /list <#string> : list available channels. if string is specified, list only channels that contain the string
- /rename <#channel> <#newchannel> : rename the channel name by a new one
- /msg : send a private message to a user
- <#message> : send a message to the channel
- /kick : kick a user from a channel ( must be the creator of the channel)
git clonegit@github.com:Clemy-beep/IRC-Spear.git
cd IRC-Spear
docker-compose up --build
npm install- Docker
- Docker-compose
- NodeJS
- NPM
- Git
- NodeJS
- Express
- Socket.io
- Docker
- Docker-compose
- MongoDB
- React
- Mongo Compass
- JSDOC