Introducing snd - a command-line chat application built using Rust, designed for seamless communication in two distinct modes: the Local LAN Room and Local User Direct Messaging
➤ Room Chat (Multiuser)
![Room Chat](https://private-user-images.githubusercontent.com/28684962/256522311-56f690b5-6c6c-4843-ad9a-9d0568709a4c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NzE2MDQsIm5iZiI6MTczOTQ3MTMwNCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjIzMTEtNTZmNjkwYjUtNmM2Yy00ODQzLWFkOWEtOWQwNTY4NzA5YTRjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE4MjgyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkNDExMmFkYTE3MjVkNjBiYmY0YTJmYmMxZmYxZTk0MTc5OTAyZTk2NWI1NmQ0OTgyMGI1MGI5ODY2YjZmODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5qNL3ir-2hRCNcs-rQIfg1WOyM5gOzMhoRu4y8-m4DE)
➼ Identify essential features for both the Local LAN Room and Local User Direct Messaging modes, as well as any optional functionalities.
➼ Choose Rust as the primary programming language and select appropriate libraries and frameworks for networking, concurrency, and user interface design.
➼ Utilize Rust's capabilities to write platform-independent code, avoid platform-specific dependencies.
![workflow](https://private-user-images.githubusercontent.com/28684962/256523921-e7b38d88-cbe4-403f-94b2-84bcef3f18f4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NzE2MDQsIm5iZiI6MTczOTQ3MTMwNCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjM5MjEtZTdiMzhkODgtY2JlNC00MDNmLTk0YjItODRiY2VmM2YxOGY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE4MjgyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE3MGZkNGY2ZWQ5ZmYwN2FhMjY1MjQzNTg5Yjc4NWZlMTFhMzM3MDVmMmQ3YzUyNzFjNTRmMzBhNTY4NGVhZWYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5s95Ll0OQ4VxlxlVfbCulbmpnRnzfIq1_SO-iMf3uig)
➼ Rust: The programming language used to build powerful applications due to its strong safety & guarantees performance benefits.
➼ Crossterm: A Rust library for terminal manipulation, enabling a cross-platform user interface for the chat tool.
➼ Multicast: A communication protocol allowing messages to be sent/receive on multiple recipients simultaneously within a group, facilitating local room-based chat.
-> TCP/UDP Sockets: Transport layer protocols utilized in the chat tool to establish reliable (TCP) and connectionless (UDP) communication between users.
➤ Direct Chat (TCP based)
![Direct Chat](https://private-user-images.githubusercontent.com/28684962/256524858-0a45a016-58bd-48e1-af7e-91ecdf21a400.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NzE2MDQsIm5iZiI6MTczOTQ3MTMwNCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjQ4NTgtMGE0NWEwMTYtNThiZC00OGUxLWFmN2UtOTFlY2RmMjFhNDAwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE4MjgyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJjZWQzNTJlNjA4NWE1MzlmYzdmZTg1NmNhYzgxZWJlZTBkYWNhYzE0M2IwMzEyZGRhMGYzZGY5YTFhMjcyNmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.QKHmThBPEPpn-3AGCWeZMZ52nOHj6oxD_uKve3h8BiU)
➤ Builds are Available for Windows, Linux, Android.
![On Android](https://private-user-images.githubusercontent.com/28684962/256525179-f5d402d4-1b4f-4e10-ba8a-d28a154ec1e5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0NzE2MDQsIm5iZiI6MTczOTQ3MTMwNCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjUxNzktZjVkNDAyZDQtMWI0Zi00ZTEwLWJhOGEtZDI4YTE1NGVjMWU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDE4MjgyNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQxNWFjMDZlMTk3YzYyNDNmOWI5ODIxNjMxZDU1ODk5Nzg5NGU3Y2FiMDI1NjcxYzZiZjA0MzcyZmQzZjUwZTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ie0a-7jM-zZAehSiD-ES4Vb8fg-ziY307QuPUkMpHGU)