Redis Advanced Chat Console
A real-time Redis-powered terminal chat application built with .NET, allowing multiple users to join chat rooms, send messages, receive live updates, and communicate via private messages.
The app supports multiple rooms, user presence events, chat history, and Redis Pub/Sub messaging for real-time communication.
Features
- Join and leave chat rooms
- Real-time messaging using Redis Pub/Sub
- User join / leave notifications
- Chat history loading per room
- Private messages
- Room discovery
- Interactive command system
- Color-coded console output
Technologies Used
| Language | C# |
| Runtime | .NET 7 / .NET 8 |
| Messaging | Redis (Pub/Sub) |
| Client Type | Console Application |
| Infrastructure | Redis Server (local or remote) |
| Miscellaneous | ANSI Console Colors, Multi-Session Support |
Installation & Run
Clone the repository and navigate into the project folder:
git clone https://github.com/B3atrixKiddo/redisLiveChat.git
cd redisLiveChat
Run the application.
dotnet run
First Launch Flow
When starting the app, you will be prompted for:
- Username
- Password
- Chat room name
Example:
Enter Your Name: Kiddo2
Create Password: **********
Enter Chat room Name: channel1
Chat Room Experience
Once connected:
-
Chat history is loaded
-
You receive join notifications
-
Messages appear in real-time
Messaging
Type directly into the console to send messages.
hey kiddo!
are you here?
Messages appear instantly for all connected users in the same room.
User Presence Events
The system automatically broadcasts join and leave events.
[11:22] Kiddo joined the room.
[11:36] Kiddo left the room.
Commands
Type /help to see all available commands.
/join roomName - join a chat room
/leave - leave current room
/rooms - list all rooms
/dm user message - send private message
/exit - exit app