notifications and subscriptions

@mahmoudHussein @maizaied @HebaElSobky please review my code