Over the last few months, I lead the development of an SNS (social networking site) website, BibRave.com, based purely in Rails 4.
It had been a while since I’d done anything this Rails centric, but after this project, I firmly believe Rails is still a powerful framework. Born to demonstrate business models on a code level, Rails’ flexibility can cover any and all complex business situations.
Don’t believe me? Well, let me show you…
How we built BibRave in Rails4:
Any project is about telling a story, for BibRave, it was a website enabling people to share their thoughts and ideas on various running races. The key pieces of this story being people, share, feelings, and race; core concepts of any SNS website. Similarly, anyone can build a business model to let people share something, A about something B, it's the basic relationship and connection of a classic SNS.
In addition, to build upon the story, designed pages based on Twitter’s Bootstrap and UX/UI criterion were given prior to the project start date. These were excellent roadmaps for the project, and while it was only three simple pages, I was able to work out several models and their relationships or logic connections.
Harnessing the Power of Rails:
Next, was the development process via Rails.
First, to implement the user authentication and sign in workflow, I utilized existing tools just as Devise and OmniAuth. Also for the admin interface, I chose to use RailsAdmin, a gem that allows you to override any defaults. These Rails features, with ecosystems full of reusable tools or libs, laid the foundation for BibRave and were tremendously time efficient!
Secondly, Rails caters to client-to-code interactions. Often, a client doesn’t know exactly what they want; setting the stage for inevitable tweaks and adjustments within the code. Rails makes this easy. Allowing me to delivery tiny interactions of small features quickly, this language was a great tool for pushing forward and presenting the client with visual progress.
Rails is a valuable framework; it allows developers to apply customized solutions and implement a variety of features. If a client wants to balance the complication and usability, while also getting an MVP quickly, then Rails is an excellent choice.