Contributor
Amish Mittal

Implementation of Newsfeed (a social feature) in Rocket.Chat Server


Mentors
James Hepburn, Peter Lepeska, Karan Bedi
Organization
Rocket.Chat

Implementation of Newsfeed (a social feature) in Rocket.Chat Server

This project adds a newsfeed for every user. In it, the users can follow other users. Whenever a user posts something in a public channel or does any public activity, it would appear in the newsfeed of all his followers with a link to the original post in the original channel. This would greatly help in discovering new conversations, increasing accountability of people in the organisation & increasing many folds the time a user spends on RC

The most challenging part of creating the newsfeed is to make it scalable to support a large number of concurrent users (by using an adaptive follower/following relation model) and to benchmark the server performance in relaying the correct messages with filters. This is being done by using proper schema and proper database queries. Messages in newsfeed are fetched in real-time from messages stored for other channels.

Key Features:

  • Support for Rich Message blocks
  • Auto-summarization of messages to prevent spam in newsfeed
  • Expandable embedded conversations
  • Upvoting System & Trending messages
  • Group messages by origin user, date, channel etc.
  • Integration with other projects