A real-time asynchronous chat library built in Rust that enables WhatsApp-like group communication functionality.
Async Chat is a robust chat system that allows multiple clients to communicate with each other through a central server. The system is built using Rust's async capabilities, providing efficient and scalable group-based communication.
Below is a high-level overview of the system:
- Asynchronous communication using Rust's async/await
- Group-based chat system
- Multiple client support
- Real-time message delivery
- Secure groups with passwords
- Group creation and management
- Secure message handling
- WASM (WebAssembly) support
- Cargo package manager
- async-std (1.7) - Async runtime with unstable features
- tokio (1.0) - Async runtime with synchronization features
- serde (1.0) - Serialization framework
- serde_json (1.0) - JSON serialization support
- anyhow (1.0.97) - Error handling
Clone the repository using any of the methods below:
- Using SSH (recommended for developers):
git clone git@github.com:Rust-Cameroon/async-chat.git
- Using HTTPS (easier for beginners):
git clone https://github.com/Rust-Cameroon/async-chat.git
- Start the server:
cargo run --release --bin server -- localhost:8000
- Start a client:
cargo run --release --bin client -- localhost:8000
- Start server
- Clients connect to the server
- Create and join a group on the server
- Start sending messages within the group
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.