This Repo illustrated on behalf of medium article. have a look at https://link.medium.com/XAk2B6iV3W for better understanding.
Make sure You have infura Project Ropsten URL and Wallet Private Key.
Basically, this is a messenger like dapp where we can share text messages with anyone. once after creating account, you are able to send messages to anyone referring their Account address. So When you create account or sending message to Recipient address, it requires signing of your data with private key and it will be submitted to the network.(whether account creation or Sending Message). signing of data and submitting transaction will be done by plain web3.js without metamask or other clients. once miner verifies transaction, it will be reflected to you.