Chat Service Documentation

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