Sorry I don’t have any screenshots at the moment. But I’ll give it a go explaining with words.
First you’ll need a data type, something like “messages”:
Data Type — Message
Message Body = text
Message sender = user
Message recipient = user
Sent Date = date (or just use the created date)
Now within the data type “user,” make sure you have a field Message which is a list of messages (from the DB).
When a user send a message, create a new Message populating the fields listed above. Then make changes to the users (sender and recipient) — add message to user.
In terms of notifying the recipient about the new message, perhaps an email, push notification, and/or text message will do the trick. The last two requiring you to connect the API yourself.
In terms of designing your message box on the users page. I’ve used pop ups and floating groups in the past. Using a repeating group at the top to display the messages, I’d create two groups within the cell—one for sent messages, and one for received messages. You can add a condition to show one of the groups based off “current cells sender” — so if current cells sender is current user, show the group that displays sent messages, and vice versa.
Lastly, a simple multi line input should do the trick for the user to type the message body.
Hope this helps. Sorry for the ramble, and good luck!