A minimal, fast, and responsive real-time chat application using WebSockets and MessagePack for efficient data transfer.
- Lightweight and fast communication with binary MessagePack encoding
- Real-time messaging with WebSockets
- Multiple chat rooms support
- Backend: Go
- Frontend: HTML, CSS, JavaScript
- Data Transport: WebSockets
- Data Format: MessagePack
- Styling: PureCSS (minimal dependency)
- Go 1.18 or later
-
Clone the repository:
git clone https://github.com/isErenG/packchat.git cd packchat -
Run the application:
go run cmd/main.go
-
Open your browser and navigate to:
http://localhost:8080
PackChat uses WebSockets for real-time communication between clients and the server. All messages are serialized using MessagePack, a binary format that's more efficient than JSON, resulting in faster transmission and lower bandwidth usage.
When you send a message, it's compressed using MessagePack and sent to the server, which then broadcasts it to all clients in the same room. Messages include the sender's information, content, and timestamp.