this is the e2e flow of the jwtToken from client to server, so that private function/procedures are properly authenticated through the token
just after user1 likes user2's post there are two websocket events that are fired (1 inbound and 2 outbounds)

at first the inbound event (user1's client to the server) goes and does 2 tasks. one to update likes count in the db and the other is to asynchronously send the LIKE_POST event to the ws server.

then the ws server constructs a NOTIFICATION_EVENT to send to the post author client and a LIKE_ACK_EVENT to send to user1 client. therefore the ws server sends 2 outbound events (server to client)

{
"event": "LIKE_POST",
"userId": "user1",
"postId": "post2"
}
{
"event": "NOTIFICATION",
"notification": {
"type": "LIKE",
"liked_by": "user2",
"post_liked_on": "post1",
"post_author": "user1"
}
}




