Advanced chat functionality
The below features should be considered if we want to offer a more robust chatting experience:
- is a user typing
- is a message read by all of the chat members
- reply to existing chat message
Information on how we could tackle the implementation of the above features can be found in the links
- https://dba.stackexchange.com/questions/97963/how-to-build-a-table-for-a-private-messaging-system-that-supports-replies/167579#167579 (message reply)
- https://sendbird.com/docs/chat/v3/platform-api/guides/message-threading (message reply)
- https://hasura.io/blog/building-a-realtime-chat-app-with-graphql-subscriptions-d68cd33e73f/ (user is typing)