Skip to content

This project involves creating an IRC client and server using NodeJS + ExpressJS for the server and ReactJS for the client, enabling real-time messaging and channel management.

License

Notifications You must be signed in to change notification settings

H1B0B0/Kurama-chat

Repository files navigation

Kurama-Chat

Overview :

This project involves the development of an Internet Relay Chat (IRC) client and server using NodeJS + ExpressJS for the server and ReactJS for the client. The system is designed to handle multiple simultaneous connections, allowing users to join, create, rename, and delete channels. Additionally, it supports real-time messaging within channels, including notifications when users join or leave a channel.

Features :

  • 1. Multiple Channel Support: Users can join several channels simultaneously.
  • 2. Channel Management: Ability to create, rename, and delete channels.
  • 3. Real-time Notifications: Notifications for user join/leave events.
  • 4. Messaging: Users can speak in channels they've joined, send private messages, and list users in channels. Persistence
  • 5. Channels and messages are persistently stored using a chosen method (file, database, etc.).
  • 6. User Interaction
  • 7. Users must set a nickname to use the application. No authentication system is required, but adding one is a bonus.
  • 8. The client and server communicate using a chosen protocol.

Commands :

  • /nick: Set user nickname.
  • /list: List available channels, with optional search.
  • /create: Create a new channel.
  • /delete: Delete a channel.
  • /join: Join a channel.
  • /quit: Leave a channel.
  • /users: List users in a channel.
  • /msg: Send a private message.
  • /clear: clear the chat (don't work on the global chat room)

This README outlines the core functionalities and commands supported by the IRC client and server project.

Installation :

Open a terminal at the root of the project and use :

docker compose up -d

About

This project involves creating an IRC client and server using NodeJS + ExpressJS for the server and ReactJS for the client, enabling real-time messaging and channel management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published