The world is social. Where art thou? In the attention-drive world, social media rules the roost. So, it is no wonder if you have been bitten by the social networking bug and want to develop a social networking site. If you are contemplating the best platform for developing a social media site, then Ruby on Rails is an ideal option. Not only, Ruby on Rails offer you rapid development, it comes packed with a horde of gems to make the work even easier. Check out some of the best Ruby gems for building social networking websites:
1. mailboxer/mailboxer : mailboxer is a core message system. This gem is a part of the social_stream framework for building social networks. It allows any model to act as messageable. You can exchange messages between different messageable models. You can even add attachments. With this gem, you can create conversations with multiple recipients. It manages an inbox, sentbox, trash for conversations and also provides an option to send notifications via email.
2. Ryanto/acts_as_votable : This gem allows records to be vote-able. It allows any model to be voted on, like/dislike, upvote/downvote, etc. And it provides an easy to write/read syntax.
3. mbleigh/acts-as-taggable-on : Acts As Taggable On is a tagging plugin for Rails applications. It provides the ability to have multiple tag contexts on a single model in ActiveRecord. Tag clouds, related items and taggers and more are also supported by this plugin. Along with dynamic contexts, it allows custom tagging as well.
4. tcocca/acts_as_follower : This gem can be used to allow any model to follow any other model. Through a double polymorphic relationship you can accomplish this on the Follow model. Built in support for blocking/unblocking follow records is also available in this gem. The main use of gem is for users to follow other users or for users to follow books.
5. pokonski/public_activity : Using the public_activity gem, you can easily add a user activity feed. Activity models with details about actions performed by users like adding comments, responding etc. are provided by this gem. It also provides easy activity tracking for your ActiveRecord, MongoMapper and Mongoid 3 models in Rails 3 and 4.
6. airblade/paper_trail : This gem tracks the changes to your models, for auditing or versioning. It stores create, update and destroy trail. It doesn’t store updates which don’t change anything. This gem is useful for migrations as it can be turned off/on. It allows you to get at every version, including the original, even the destroyed ones.
7. sunspot/sunspot : This is a Ruby library for powerful interaction with Solr search engine. It is built on the top of the RSolr library. It provides powerful features for indexing objects and searching for them. Sunspot can be easily plugged in to on any ORM and also to filesystem.
8. github.comelight/acts_as_commentable_with_threading : This gem allows threaded comments to be added to multiple and different models. For Rails 4, 2.x version of this gem works. And for Rails 3.x, use 1.2.0 version of this gem. As this gem depends on CollectiveIdea’s Awesome Nested Set gem, it will also install when you install this gem.
9. collectiveidea/awesome_nested_set : This gem is an replacement for acts_as_nested_set and BetterNestedSet. It is an implementation of the nested pattern for ActiveRecord models. For Rails 4 use this gem version 3, Rails 3 use this gem version 2, and for Rails 2 use gem versions prior to 2.0. This is an awesome gem, as it fixes some bugs, removes duplication and adds a few useful methods and STI support.
10. carrierwave uploader/carrierwave : This gem provides a simple and an extremely flexible way to upload files in your ruby applications. Carrierwave gem works well with Ruby on Rails as RoR is a Rack based web application.
Looking to get your app developed? RailsCarma can help! Check out our portfolio to understand how we are helping to change the shape of software industry by providing Ruby on Rails Developer. Get in touch with us now!
Also Read :