Social networks and ruby on rails

by Vivien Schilis on May 21st, 2009

Social network? What is it all about, what is the goal?

The simple answer would be: It’s about connecting people, creating a space where people can share the same interests. It can be everything like dating, dancing, studies and so on. Social network is the new reason for people to spend hours on internet everyday. The most famous social plate-form of the moment is for sure Facebook and this success inspire lots of companies to create their own social website, to build their own graph of users. It’s such a big potential for companies.

mani

How to start? Which framework can I use? Is Rails a good to choice to make my social network?

If a company wants to create its social network, it has to do it very fast. Building a web application as complex as a social network require a lot of time and starting it from scratch would be a waste of time. Ruby on Rails is a great framework which increase your productivity, but I won’t talk about some aspects which are already well documented on the web, related to the ruby language and the framework capabilities.

The aspect I want to talk about is how to build it as fast as possible. This way, you will be able to concentrate yourself on the logic of your application. Rails community brings great plugins which will help you to build the bases of your social site.

First of all, you will need to manage users and authentication. You can choose among multiple plugin like “AuthLogic” or “Restful authentication”. It’s very flexible and you can manage complex user authentication. You will certainly have to work with attachments like avatars, galleries or files. For that you can use the famous plugins called PaperClip or Attachment_fu. They can manage also image manipulations which is very useful if you work with photos.

All the social networks are able to send you mail notifications when some users wants to interact with you for different reasons like friendship requests, messages, etc… Rails provides a email framework called ActionMailer. It allows you to create mail templates, send and receive emails with few configuration.

Finally you want to expand you social network, get more users. It implies you to translate your website for the different countries you are targeting. Rails provide, out of the box, a very simple way to do it. You have just to maintain one YAML file for every languages you want to support. There are lots of other plugins for tagging, activity feeds (Timeline_fu, pagination(Will_paginate), comments(Acts_as_commentable), etc…

In addition to those plugins there are a lot of tutorials, screencasts in rails which explain the good way to do the redundant functionalities of websites in rails, how to use those plugins. I think obviously to the screencasts on http://railscasts.com which are very well done.

  • Wikio IT
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Reddit
  • LinkedIn
  • Slashdot
  • Tumblr
  • Twitter
No Comments »

Leave a Reply

  • XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">