Build a live activity feed with open source JS technologies?

For building social media features like activity feeds, message updates, interactions such as “Likes” and “Hearts”, cant it be done within the available open source javascript stack without relaying on companies like Stream, Pusher, and PubNub?

RethinkDB, for instance, had this built in.

How would you do it with available tech like Socket.IO, GraphQL, etc?

The first thing that comes to mind when I think of live feeds and open source, I think of socket.io (as already linked above).

The short answer is yes it is possible

The long answer is still yes, but it will require utilizing some specific technologies, as most web-apps use ajax/http requests, which are just request from the client->response from the server. For a “feed”, or live updates, you need the server to send a message to the client. The main approach to this is using websockets, or less optimally polling (make a request from the client to the back-end every few seconds). Socket.IO abstracts away these methods (and other inconsistencies) to provide a simple api to get what you want.

There is a distinction between what RethinkDB is and its place “in the stack”. RethinkDB provides live updates from the DB to the server (nodejs/Python/whatever), where-as socketio provides updates from the server to the client. Its possible to utilize RethinkDB for this project, but it isn’t a hard requirement, as there are other approaches to get “live-updates” in the back-end. (using socket.io between instances of a server is one)

The devil is in the details as there are a number of approaches that can be taken, and there isn’t a 100% perfect way to go about it depending on the requirements. Generally you’d need socketio, a way to scale it across multiple back ends (if you plan to run more than 1 instance of nodejs), and the usual UI/crud capabilities.

1 Like

Actually, I didnt even notice that RethinkDB has had some activity and they are back so to speak.

https://rethinkdb.com/blog/community-update-stayin-alive