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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTMyNTQsIm5iZiI6MTczOTY1Mjk1NCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjIzMTEtNTZmNjkwYjUtNmM2Yy00ODQzLWFkOWEtOWQwNTY4NzA5YTRjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDIwNTU1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYzMGE2NGM1OTVkMjEzNjlhZjM2MjE5NDk1NjZiZTU2MWNmZDIzYWM3ODRmMzVkYjBhZWQ5OTBhYjU1MTYxYzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qlERP8gFZZJPy4UcNJmCP7IE-PmGUa0R_Wg49BfuScc)
➼ 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTMyNTQsIm5iZiI6MTczOTY1Mjk1NCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjM5MjEtZTdiMzhkODgtY2JlNC00MDNmLTk0YjItODRiY2VmM2YxOGY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDIwNTU1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwZjI3MTMyNmYxMTFhOGJhMWFkZmI5MjBmYTA1ZGIzMGM3YTBjZTA3YzIyNDBhOWM3YzhhNWY4ZDdlZDA5YzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.-btV8emcUUoQXiC6NjYHz9KcAJ4XVyLXGMwz0FJGITQ)
➼ 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTMyNTQsIm5iZiI6MTczOTY1Mjk1NCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjQ4NTgtMGE0NWEwMTYtNThiZC00OGUxLWFmN2UtOTFlY2RmMjFhNDAwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDIwNTU1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI4Yjk1ZmUzODZlOTA4NzhhNDRjMzFjYjBkZmIzYWI0NWY4ZTc1YTIwMjc5MjIwMDJmMWY0OTM0MGY1OGRkMGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9-vkTCARpnamDd4eBydH7agKRBRh62on7LPC6z0Krco)
➤ 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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2NTMyNTQsIm5iZiI6MTczOTY1Mjk1NCwicGF0aCI6Ii8yODY4NDk2Mi8yNTY1MjUxNzktZjVkNDAyZDQtMWI0Zi00ZTEwLWJhOGEtZDI4YTE1NGVjMWU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDIwNTU1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ4OThmNTE1ODNlYzFmMzJlMGRlMmY1OTFjNjk4YmI3MjBlMzRiMjRjZTYzYWEzYTMzMDE3YjMwYjFiN2VjNzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._zO39pPLHC_p1TcaKkN6q7XXa06aTQpmYoRJav1Fhb8)