Chat Service Documentation


✨ Requirements
General
- allow users to have a private conversation
- allow users to have a group conversation
- each user can have their own contact list
Websocket
- handle stickiness of the user's session
- allow users to connect with multiple sessions
- return count of unread messages on connect
- notify users when their messages are read
- send message
- delete message
- receive events from the server
- send actions to the server
GraphQL
- mark messages as read
- query messages
- handle blocking users
Rules
- cannot contain uncensored word
- cannot message anyone if you get reported 10 times
🔮 Future Features
- admin panel
- UI interface to interact with settings like banned users, banned usernames, and such
- detect spammers
- ability to send files
- when adding people to a chatroom send invitation first
Postgres DB



Redis DB

