Recently we open sourced on GitHub sentioo, a configurable notification system for web applications, born from the bachelor thesis of a collaborator.
The key technology here is server-sent events.
What are server-sent events?
Server-sent events (SSE) is a technology enabling a browser to receive automatic updates from a server via HTTP connection.
Traditionally, a web page has to send a request to the server to receive new data; that is, the page requests data from the server.
On the contrary, with server-sent events, it’s possible for a server to send new data to a web page at any time, by pushing messages to the web page. These incoming messages can be treated as Events + data inside the web page (see Server-sent events documentation).
Server-sent events avoid you to use alternative non-fitting technologies, for simplicity or perfomance efficiency reasons. Maybe you do not need the bilateral communication protocol given by a websocket; and you already know you need something better than HTTP polling.
So, if for any case, you have got data on your backend that changes, and want to visually notify the user of the change, chances are you can consider our library as a viable solution.
As often happens in informatics, sentioo is the awkward name chosen after obscure and unintelligible developers’ brainstormings.
Nomina sunt substantia rerum: its name reminds the fact our library “sent you” something to notify the user of, showing a nice coloured badge overlying a little bells. Click the bell, and a list of read and unread notifications appears as a dropdown.
Through the given API, you can mark a given message as read, or delete it from queue (and you also get bulk actions).
License and installation
Sentioo is release under the Apache License, Version 2.0.
Refer to the Sentioo public repository on GitHub for further details, technical specification, configuration, and theme customization.
It is also available as an NPM package.