A study on PG's LISTEN/NOTIFY and SSE. Minimal implementation using Node.js and Docker.
On a terminal in project root, run:
docker compose up -d --build
npm install
npm run dev
The app is composed of a Node.js server and a PostgreSQL database. The server is responsible for handling the SSE connections and the database is responsible for storing the data and sending notifications to the server whenever something happens to it.
On your terminal:
curl -N localhost:3000
Or simply open http://localhost:3000
on your browser.
Insert a random new record with:
curl -X POST localhost:3000/add
Alternatively, open http://localhost:8080
on your browser to access Adminer's interface. Use the same credentials given in docker-compose, including the container name as the network location (pgdb). There you can insert data into the table using the GUI and see the changes being notified on the SSE connection.