Many websites want to have user notifications so I have built that into the Wizard's Toolkit.
Each notification can have an icon, color for icon, header, body of text, and most importantly can link to a page within your website.
When a notification is created it can be assigned to an individual or a whole department. If it is assigned to a department, then all users in that department can see it. When a user clicks on a notification they go to the page which marks the notification as opened and seen by them. A notification is not "closed" until a user marks it so. When that happens it marks the time and date as well as who closed it based on who is logged in at the time.
While logged in a JavaScript function checks the server once every 3 minutes to see if there are any new notifications. If there are then it updates the number counter on the bell for easy visibility. Of course you can change that to check more or less often.
I'm not sure if I want to call this the "Notifications" feature or "User Alerts" feature. Let me know what you think in the comments.
Now that the displaying and handling of notifications is so easy in Wizard's Toolkit, adding a little code to insert the SQL data upon certain triggers or actions is easy and can be done within PHP or SQL.
One of my future tasks will be creating analytic reports which show how long notifications took to close based on different criteria. For example, based on staff person, based on header and based on icon-color. For some clients they may want to have the icon colors be red for urgent, orange for semi-urgent, green for income, etc.