Building a chat tool with a simple command-line interface which supports multiple chat rooms.
Building a chat tool with a simple command-line interface which supports multiple chat rooms.
Most often than not, we run heavy GUI-based applications for the simplest of tasks. One such simple task is instant messaging or chatting. Chat tools enable users to start chatting with other users in real-time. It also enables users to transmit text messages, images, videos, and hyperlinks.
In this project, we aim to build a simple command-line chat tool which is easy to use and also has a very minimal interface.
socket
and threading
modules in Python.The diagram below shows the basic architecture of the chat tool. The server should be connected to all the clients directly but should be able to categorize them into their respective chat rooms and broadcast messages only to the sender's chat room.
For example: If Client A sends a message, the message should only be broadcasted to clients B and C and not any other clients.
The diagram below shows a high level approach used to build and develop the chat tool.
The desired end result of the project is like this: