Built a Distributed Chat system with Golang, Cassandra and Redis. Scalling Websocket servers with redis Pub/Sub and storing message in Cassandra. Made this project for educational purpose.
Detailed Explanation on System Architecture: https://dev.to/leoantony72/distributed-chat-application-22oo
docker-compose up -d
Routes | Method | Description |
---|---|---|
/user | POST | Create a User |
/room | POST | Create a Room |
/joinroom | POST | Join in a Room |
ws:/localhost/chat?id=username
- /user
{
"username":"JOHN"
}
- /room
{
"name":"anime",
"user":"JOHN"
}
- /joinroom
{
"name":"anime",
"user":"JOHN"
}
- Private Chat - Websocket
{
"msg":"hello Boi",
"receiver":"2GKtMkzDZDerO2a1gl5IHK6OTPY",
"is_group":false
}
- Group Chat - Websocket
{
"msg":"hello Boi",
"is_group":true,
"group_name":"anime"
}
Hope you will try this out, and leave me your feedback also feel free to improve this project by making a PR😁.