Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/JoyalAJohney/Realtime-distributed-chat
/ functions
Functions
64 in github.com/JoyalAJohney/Realtime-distributed-chat
⨍
Functions
64
◇
Types & classes
17
↓ 3 callers
Function
PublishMessage
(room string, message *models.Message)
src/cache/pubsub.go:70
↓ 2 callers
Function
RemoveConnection
Remove a connection from the Map
src/chat/user.connections.go:20
↓ 2 callers
Function
SendErrorMessage
(conn *websocket.Conn, errMsg string)
src/utils/utils.go:12
↓ 2 callers
Function
ValidateJWTToken
(tokenString string)
src/auth/middleware.go:27
↓ 2 callers
Function
removeUserFromRoomInRedis
(room string, user *models.User)
src/chat/rooms.go:157
↓ 1 callers
Function
AddConnection
Register a new connection in the Map
src/chat/user.connections.go:13
↓ 1 callers
Function
BroadcastToRoom
(room string, message models.Message)
src/chat/rooms.go:55
↓ 1 callers
Function
CheckAndUnsubscribeFromRoom
(room string)
src/cache/pubsub.go:53
↓ 1 callers
Function
GenerateJWT
(userID string, username string)
src/auth/handler.go:124
↓ 1 callers
Function
GetAllRooms
()
src/cache/pubsub.go:82
↓ 1 callers
Function
GetConnection
Get a connection from the Map
src/chat/user.connections.go:27
↓ 1 callers
Function
GetResponseFromLLM
(prompt string)
src/chat/rooms.go:90
↓ 1 callers
Function
InitPostgres
()
src/database/connection.go:33
↓ 1 callers
Function
InitRedis
()
src/cache/redis.go:43
↓ 1 callers
Function
JoinRoom
(room string, user *models.User)
src/chat/rooms.go:23
↓ 1 callers
Function
LeaveAllRooms
(user *models.User)
src/chat/rooms.go:141
↓ 1 callers
Function
LeaveRoom
(room string, user *models.User)
src/chat/rooms.go:122
↓ 1 callers
Function
ParseJWTToken
(tokenString string)
src/auth/middleware.go:35
↓ 1 callers
Function
PublishMessage
(message models.Message)
src/kafka/kafka.go:32
↓ 1 callers
Function
SendMessageToRoom
(message models.Message, user *models.User)
src/chat/rooms.go:70
↓ 1 callers
Function
SubscribeToRoom
(room string, callback models.MessageHandlerCallbackType)
src/cache/pubsub.go:17
↓ 1 callers
Function
addUserToRoomInRedis
Helper methods
src/chat/rooms.go:151
↓ 1 callers
Function
getAllMembersInRoom
(room string)
src/chat/rooms.go:173
↓ 1 callers
Function
getUserIDFromToken
(token)
web/src/components/Login.js:34
↓ 1 callers
Function
isUserInRoom
(room string, user *models.User)
src/chat/rooms.go:163
↓ 1 callers
Function
listenForMessages
Listen for messages on the single PubSub connection
src/cache/pubsub.go:35
↓ 1 callers
Function
reportWebVitals
web/src/reportWebVitals.js:1
↓ 1 callers
Function
sendMessage
()
web/src/components/ChatRoom.js:67
Function
App
()
web/src/App.js:11
Function
AuthorizationMiddleware
(ctx *fiber.Ctx)
src/auth/middleware.go:12
Function
GenerateUserID
()
src/utils/utils.go:23
Function
HomeButton
()
web/src/components/HomeButton.js:4
Function
InitPostgres
()
kafka-consumer/database/postgres.go:33
Function
LandingPage
()
web/src/components/LandingPage.js:5
Function
Login
(ctx *fiber.Ctx)
src/auth/handler.go:72
Function
NewKafkaConsumer
()
kafka-consumer/kafka/kafka.go:27
Function
ProcessMessages
(messages []Message)
kafka-consumer/processor/processor.go:10
Function
SignUp
(ctx *fiber.Ctx)
src/auth/handler.go:17
Function
WebSocketHandler
(conn *websocket.Conn)
src/chat/handler.go:12
Function
WebSocketProvider
({ children })
web/src/WebsocketContext.js:5
Function
addEmoji
(emoji)
web/src/components/ChatRoom.js:63
Function
getEnv
(key string, fallback string)
src/config/config.go:49
Function
getEnv
(key string, fallback string)
kafka-consumer/config/config.go:41
Function
handleClose
()
web/src/components/ChatRoom.js:34
Function
handleEmojiPickerToggle
()
web/src/components/ChatRoom.js:53
Function
handleJoin
(e)
web/src/components/JoinRoom.js:54
Function
handleKeyDown
(e)
web/src/components/ChatRoom.js:79
Function
handleMessage
(message)
web/src/components/JoinRoom.js:37
Function
handleMessage
(message)
web/src/components/ChatRoom.js:29
Function
handleOutsideClick
(e)
web/src/components/ChatRoom.js:57
Function
handleSubmit
(e)
web/src/components/Login.js:12
Function
handleSubmit
(e)
web/src/components/Signup.js:12
Function
init
* A single go server instance have a single redis connection pool From the redis connection pool, one connection is used for PubSub connection That
src/cache/redis.go:36
Function
init
()
src/database/connection.go:23
Function
init
()
src/kafka/kafka.go:23
Function
init
()
src/config/config.go:26
Function
init
()
kafka-consumer/database/postgres.go:23
Function
init
()
kafka-consumer/kafka/kafka.go:18
Function
init
()
kafka-consumer/config/config.go:22
Function
leaveRoom
()
web/src/components/ChatRoom.js:74
Function
main
()
src/main.go:18
Function
main
()
kafka-consumer/main.go:15
Function
messageWithLineBreaks
(message)
web/src/components/ChatRoom.js:87
Function
upgradeToWebSocket
Authorize and Upgrate to websocket
src/main.go:48