{"repo":"mehdi124/chat-service","free":true,"listed":false,"github":"https://github.com/mehdi124/chat-service","clone":"git clone https://github.com/mehdi124/chat-service.git","description":"golang chat service","language":"Go","stars":17,"topics":["chat","clean-architecture","docker","docker-compose","go","golang","hexagonal-architecture","messagepack","messaging","microservices"],"license":"MIT","category":"chat-messaging","readme_excerpt":"💬 Chat Service A high-performance, scalable real-time chat service built with Go. Features WebSocket support, message persistence, file uploads, and push notifications. ✨ Features - Real-time Messaging - WebSocket-based real-time communication - Room Types - Support for Private chats, Groups, and Channels - Message Types - Text messages, file attachments, replies, and forwards - File Uploads - S3-compatible storage with presigned URLs - Push Notifications - Firebase Cloud Messaging integration - High Availability - PostgreSQL replication with PgPool load balancing - Message Queue - RabbitMQ cluster for reliable message delivery - Caching - Redis for connection management and caching - JWT Authentication - Secure token-based authentication 🏗️ Architecture 📋 Prerequisites Required Software - Go 1.22+ - Download Go - Docker & Docker Compose - Install Docker - Make - Build automation tool Required Infrastructure Services Service Purpose Required --------- --------- ---------- PostgreSQL Primary data storage with streaming replication ✅ Yes Redis WebSocket connection state, chunk upload tracking, distributed locks ✅ Yes RabbitMQ Message queue cluster for real-time message delivery ✅ Yes S3-Compatible Storage File uploads (AWS S3, MinIO, Arvan Cloud, etc.) ✅ Yes Firebase Push notifications for offline users ⚪ Optional S3 Storage Setup This service requires an S3-compatible object storage for file uploads. You can use: - AWS S3 - Amazon's object storage - MinIO - Self-hosted S3-c","default_branch":null,"files":null,"tree":[],"storefront":"/r/mehdi124","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mehdi124/chat-service/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}