|
1 | 1 | ## Table of Contents
|
2 | 2 |
|
| 3 | +- [Asynchronous Chat System](#asynchronous-chat-system) |
| 4 | + - [Overview](#overview) |
| 5 | + - [Server Architecture](#server-architecture) |
| 6 | + - [Client Features](#client-features) |
3 | 7 | - [Demo](#demo)
|
4 | 8 | - [Running Server and Client](#running-server-and-client)
|
5 | 9 | - [Configurations](#configurations)
|
|
10 | 14 | - [Summary of the Responsibilities for crate chatty-types and chatty-tcp in Workspace](#summary-of-the-responsibilities-for-crate-chatty-types-and-chatty-tcp-in-workspace)
|
11 | 15 | - [Domain Driven Terminology](#domain-driven-terminology)
|
12 | 16 |
|
| 17 | +### Asynchronous Chat System |
| 18 | + |
| 19 | +#### Overview |
| 20 | + |
| 21 | +A high-performance asynchronous chat system consisting of a server and CLI client implementation, designed for maximum |
| 22 | +throughput and concurrency. |
| 23 | + |
| 24 | +#### Server Architecture |
| 25 | + |
| 26 | +Manages a single chat room with efficient user handling |
| 27 | +Processes incoming messages through non-blocking operations |
| 28 | +Broadcasts messages to all connected users except the sender |
| 29 | +Handles user join/leave operations seamlessly |
| 30 | +Maintains unique usernames across the system |
| 31 | +Optimized for high throughput with minimal memory footprint |
| 32 | +Implements automatic cleanup on user disconnection |
| 33 | + |
| 34 | +#### Client Features |
| 35 | + |
| 36 | +Features an async CLI interface |
| 37 | +Connects automatically to the server on startup |
| 38 | +Configurable through environment variables or command line arguments for: |
| 39 | + |
| 40 | +- Host address |
| 41 | +- Port |
| 42 | +- Username |
| 43 | + |
| 44 | +Provides an interactive command prompt supporting: |
| 45 | + |
| 46 | +- send <MSG> for message broadcasting |
| 47 | +- leave for graceful disconnection |
| 48 | + |
13 | 49 | ### Demo
|
14 | 50 |
|
15 |
| -[Demo](demo/Weather-Standup.mp4) |
| 51 | +<video width="100%" controls> |
| 52 | + <source src="demo/Weather-Standup.mp4" type="video/mp4"> |
| 53 | +</video> |
16 | 54 |
|
17 | 55 | ### Running Server and Client
|
18 | 56 |
|
|
0 commit comments