Crab Chat Server is a real-time chat application built using Rust and WebSocket technology. It allows users to create and join chat rooms, send messages, and interact with others in real time.
- Real-time Chat: Utilizes WebSockets for instant message delivery.
- User Authentication: Users can register with a name.
- Room Management: Users can create, delete, access, and leave chat rooms.
- Public and Private Rooms: Rooms can be either public or private.
-por--portto pass the port
crabchatserver -p <port>- Rust: The primary programming language.
- Tokio: An asynchronous runtime for Rust.
- Tokio Tungstenite: A WebSocket library for Tokio.
- Serde: For serialization and deserialization of data.
- UUID: For generating unique user identifiers.
- Tracing: For logging and diagnostics.
src/: Contains the source code.auth/: Authentication-related logic.infra/: Infrastructure code (enums, models).message/: Message processing logic.room/: Room management logic.types/: Type definitions.websocket/: WebSocket handling.main.rs: Entry point of the application.
Contributions are welcome! Please feel free to submit pull requests, report issues, or suggest new features.