Overview

See Feature Pod Specs here for objective of Direct Messaging and some initial Designs:

https://www.notion.so/fightpandemics/Direct-Messages-between-individuals-organizations-Message-Request-b0f23e5f2bc34a33a458e1b6bc36cec9

Ask for Engineering Spike

For this task, we need a lead engineer or architect to determine the right infrastructure and database needs to manage the direct messages.

We need to keep track of a unique combination of the Users in the Chat and the name of the Message Thread.

Functionality to take into consideration in the design

"Acceptance" of messages

In addition, we want the user who receives the message to "Accept" the message before that message thread is added to that user's main inbox. This means:

All types of messages can be in the same DB as long as the front end can have logic to only display one or more types of messages ("Accepted", "Rejected" or "Null" where Null hasn't been actively Accepted or Rejected)

TBD: whether "Acceptance" is only per thread or per user. Product open to either initially

Blocking or unblocking users

To protect users from trolls or spam, we want them to be able to block another user. They should then never see the messages of that other user except if they unblock that user.