Skip to content

luis-ota/crabchat-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CrabChat Server

Description

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.

Features

  • 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.

How to run

  • -p or --port to pass the port
crabchatserver -p <port>

Technologies Used

  • 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.

Getting Started

Prerequisites

Project Structure

  • 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.

Contributing

Contributions are welcome! Please feel free to submit pull requests, report issues, or suggest new features.

About

a websocket server for a webchat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages