Skip to content

An IRC style chat app made in fullstack JavaScript.

Notifications You must be signed in to change notification settings

glopez-dev/irc_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epitech 6th semester - JavaScript module - IRC Chat

Module: T-JSF-600

An Internet Relay Chat client and server

Technical specifications :

  • Uses TCP and is compatible with TLS
  • Uses the standard ports 6665-6669

What is IRC ?

Internet Relay Chat is a text-based chat system for instant messaging.

"IRC is designed for group communication on forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer including file sharing." (Wikipedia)

Technical informations

  • IRC is an open protocol that uses TCP and, optionally, TLS.
  • IANA port: 194/TCP
  • de facto the standard is to RUN IRC on 6667/TCP to avoid running the IRC daemon with root privileges.
  • The protocol implementation is documented in the RFC 1459

What was awaited ?

Features :

  • The servers accepts multiple connections.
  • The server implements channels.
  • It must be possible to join several channels simultaneously ;
  • Must be able to create, rename and delete channels ;
  • A message must be displayed when a user joins or leaves a channel ;
  • Users must, of course, be able to speak in the channels they have joined.
  • Channels and messages must be persistently preserved.
  • Each user must give a nickname before they can use the application.
  • No authentication system is required, however it would be a welcome bonus

Commands:

  • /nick nickname: define the nickname of the user on the server.
  • /list [string]: list the available channels from the server. If string is specified, only displays those whose name contains the string.
  • /create channel: create a channel with the specified name.
  • /delete channel: delete the channel with the specified name.
  • /join channel: join the specified channel.
  • /quit channel: quit the specified channel.
  • /users list the users currently in the channel
  • /msg nickname message: send a private message to the specified nickname.
  • message send a message to all the users on the channel

How to use it:

Server:

cd Server && npm start

Client:

cd Client && npm start

About

An IRC style chat app made in fullstack JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •