Q:

Smart Contract events

I am developing a Dapp that contains a notification between two Users. 
for example : 

User 1 (Student): send a transaction that contains data to be
confirmed.
User 2 (Professor):  receive a notification to validate  the student
data.
User 1 (Student): receive a notification about the    professor
answer.

is't possible to implement this use case using smart contract events? 
I took a look to web3.shh but it seems like it miss documentation

A:

You can doing that by create your event in your Smart Contract like :
event StudentData(address indexed _professorAddr, string indexed _studentData)

Then, using web3 api you can watch/listen for this events by filtering on the professor address by exemple, and trigger any action, like a notification, when the event realise
See documentation about events listening. 

