In the Drupal community, "notifications" are usually referring to email notifications sent to users.
Messages sent to users to indicate "likes", etc. are usually called "messages". So you should probably search for "messages" and "messaging" (instead of "notifications") to locate stuff about this type of user interaction.
One of the most popular Drupal modules for messages is HeartBeat:
Heartbeat displays user activity on a website. This module is an API to log activity. The logged data contains message structures, attributes and variables. Once the activity messages exist in the database, they will be parsed and build into activity streams.
However, the maintainer of Heatbeat has recently announced:
This project will be deprecated. The future would be in the module Message. It's much smaller and it cannot be compared to heartbeat when it comes to features. However the possibilities as API would be the same.
At the time of writing, Message is an API that you can use to build the required flagging and messaging by combining it with other modules in the message stack. As for social messaging functions, you need to add those. The Heartbeat API already has all the necessary functionality built-in. Today, it will take much less effort to get something working with Heartbeat than with Message, but maybe Message is still a better option than putting efforts into working with a module about to be depreciated,