What a practical way for building/designing a similar notification like Facebook?

I’m using rails-api to build a JSON API for a mobile social networking app. Basically, a user will receive a notification whenever other users like or make comments on their post. So a notification will contain information like “who”, “action”, “the post”, and “description”. I see some debates on using relational DB or Redis to implement this functionality. I ever use Redis for background jobs, but I never it for implementing like persistence data like relational DB.

  1. Could anyone share your experiences on implementing this functionality? How do you design in your apps?
  2. What’s pros and cons using either relational DB or Redis?
  3. Is there any gems that do similar jobs?

Jumping ahead to the next question you might ask after this one about databases:

You’re going to need an interface to APNS or GCM (Apple and Google’s push messaging services). If you are low volume and don’t have a ton of funds to pay for something like Urban Airship, then I’d recommend giving ZeroPush a try. They have a Ruby gem you can use and their service is really cheap. I’ve been using them with two clients of mine and am very happy with the product and the responsiveness of the founders on tech support questions.

1 Like

I have created a gem called pushofy that handles APNS and GCM for you. It is pretty easy to use.
https://rubygems.org/gems/pushofy

Let me know if you use it :slight_smile: