A real-time chat system inspired by WhatsApp architecture, built with Go, MQTT for message delivery, WebSocket for client connections
About this project
Park - Simple Chat System A real-time chat system inspired by WhatsApp architecture, using MQTT for message delivery and ScyllaDB for persistence. Tech Stack Go - Backend language MQTT (Mosquitto) - Real-time message broker WebSocket - Client-server bidirectional communication ScyllaDB - High-performance NoSQL for message storage PostgreSQL - Relational database for users and groups JWT - Token-based authentication Docker - Containerization Libraries gorilla/websocket - WebSocket implementation eclipse/paho.mqtt.golang - MQTT client go-chi/chi - HTTP router gorm - ORM for PostgreSQL gocql - ScyllaDB driver How It Works Authentication Flow User signs up or logs in via REST API Server generates JWT token and sets it as HTTP-only cookie Token is used for both REST API and WebSocket authentication WebSocket Connection Client connects to /ws with JWT cookie Server validates token and extracts user ID Server subscribes user to their private MQTT topic (user/{id}/inbox) Connection stays open for real-time messaging Project Structure Getting Started Prerequisites Docker & Docker Compose Go 1.21+ (for local development) Run with Docker Environment Variables License MIT
From the project README on
GitHub
- Stars
- 19
- Forks
- 0
- Last push
- 7 Dec 2025
Add this badge to your README
Show that your project is listed on Made in Algeria.
[](https://www.madeinalgeria.dev/projects/park)