Skip to content

RoyRoki/LetsGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


🧠 LetsGo – Tag-Based Chatting App


🎯 Real-time chat app that matches users based on shared tags using Go, Redis (Lua), WebSockets, and gRPC.

🎥 Watch Demo on YouTube

🔗 Connect on LinkedIn


✨ Features

  • ✅ Tag-based user matching with Redis Bitmaps & Lua scripting
  • 🔌 Real-time WebSocket chat between matched users
  • 🎯 gRPC-based microservice communication
  • 🚀 Clean Architecture + Docker-ready
  • 🔄 FIFO fallback matching logic
  • 🧩 Ready for scaling with audio/video service modules

🧠 Architecture

                   +------------------+
                   |  Client (Web)    |
                   +--------+---------+
                            |
                            ▼
                   +--------+---------+
                   |  Chatting Service |
                   | - WebSocket       |
                   | - Usecase Logic   |
                   +--------+---------+
                            |
                            ▼ gRPC
                   +--------+---------+
                   | Matching Service |
                   | - Redis + Lua    |
                   | - Tag Matching   |
                   +------------------+

🛠️ Tech Stack

Go 1.22 Docker Redis + Lua Node.js TypeScript gRPC Lua

🚧 Upcoming

  • 📹 Video/Audio calling modules via dedicated microservice
  • 🌐 Admin dashboard & analytics
  • 🔒 Secure match flow with JWT/Auth

📦 Setup

git clone https://github.com/RoyRoki/LetsGo
cd LetsGo
docker-compose up --build

Open WebSocket tester at test/chat_test.html and enjoy!


📬 Connect

Follow me on LinkedIn for updates & deep dives!

🎥 Watch Project Demo on YouTube

About

Letsgo Tag-Based Chatting App using Go Microservices

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published