Biblionasium is a powerful and award winning social network that engages and encourages children to read. The platform connects children, educators and parents to create a reading community where they can share and exchange book reviews, book recommendations and book lists. It also enables educators to manage multiple classrooms, students’ reading logs, reading challenges and virtual rewards, monitor activities and run reports.
THE PROBLEM AND THE FOLIO3 SOLUTION
Biblionasium was born out of the need for a dedicated platform that encouraged children to read and develop good reading habits. A platform where children, parents, librarians and teachers could engage and which could help manage and support children’s independent reading activities.
Biblionasium’s rapid growth and adoption by libraries and classrooms had created a technological challenge. The platform was unable to keep up with the demands and engagement of its fast growing user base and as a result, was starting to experience slow response times and accessibility issues. In addition, the platform’s features and functions had to continue growing quickly to keep up with the way its expanding user base was engaging with the site.
Biblionasium was looking for a reliable development partner with strong expertise in web architecture, web development and database management, who could help optimize its website to handle increasingly complex features and to make it scalable enough to handle the exponential increase in traffic, as its user base continued to grow.
Having heard of the many successes of Folio3’s work, Biblionasium contacted Folio3 and through a series of reviews and interviews was impressed by the latter’s expertise in the web development space, particularly in Ruby on Rails, and chose to partner with Folio3, to help it revamp its website.
After evaluating the site’s existing code and server configuration, the Folio3 team recommended a number of performance optimizations and scalability solutions to Bibilionasium’s management. Based on Biblionasium’s feedback, the team then started implementing these changes.
They started by fixing the stability issues first, by re-writing and optimizing many of site’s existing Ruby modules as well as developing several custom Ruby modules. They also rewrote the inefficient server side MongoDB and PostgreSQL databases and added indexing, to enhance the performance of the site’s web servers. The Folio3 team also optimized the site’s web server configuration and configured a unicorn (ROR server) to run four worker processes. They also optimized server scalability, by first configuring the server to use three 2X dynos on Heroku, and then configuring it for dynamic allocation of dynos based on usage patterns and real time traffic needs.
Folio3’s engineers also added several new modules to the Biblionasium website, including administration functions for educators and a content management module for the Biblionasium team to manage the many aspects of and content on the site.
The Folio3 team also developed a Book Reviews module that includes a multi-tiered permission scheme that is managed by educators for single or multiple groups of students. They also implemented a number of security and privacy features in the platform’s core, in compliance with COPPA regulations.
Thanks to Folio3’s efforts, Biblionasium is now able to handle substantially more traffic than it was able to previously, with 100% uptime and zero performance issues. The site is currently serving over 3 million app server requests. The new modules that Folio3 added have helped boost the site’s user base and ranking, with the website getting millions of hits each week and hundreds of new user sign-ups everyday.
Thanks to these results, Bibilionasium went on to win several prestigious awards and recognition, and has engaged Folio3 as its on-going development partner, to provide maintenance and support for the platform. The relationship is now in its second successful year with the Folio3 team constantly adding new modules and providing support by handling deployment on Heroku, and scaling to meet the requirements for increased traffic on the site’s servers.
The Biblionasium platform was developed using Ruby on Rails, CoffeeScript, Backbone.js, MongoDB, PostgreSQL and Heroku, which is a Platform as a Service (PaaS) provider.
Biblionasium – DEVELOPMENT METHODOLOGY USED
Folio3 used Agile Development as the development methodology, with Redmine as the project management tool.