Case Study: Modernizing application to stay User focused

Existing Applications Management System Transformation

Dropping coins in a piggy bank

Business Requirement:

The client is a leading crowdfunding platform that enables anyone across India to raise funds for healthcare, education, sports, disaster relief and other personal causes, with great ease.

With too much work on their hands, the client sought for dedicated, highly skilled and precise on-demand Ruby on Rails developers to equip their business with the latest ruby version for experiencing a stable and faster application.

The client was looking for a business process aligned solution that can take advantage of improvements in upgraded gems which could guarantee support longevity, receive critical tech updates for business needs, protect their users data, save time and safeguard their application integrity.

The client wanted to scale up their IT team in order to acquire help with the app upgrades, new feature additions and enhancements, thus allowing them to focus on the bigger picture. RailsFactory took on the challenge.

Involvement:

As a leading end-to-end application development and maintenance solution provider, RailsFactory took an Agile approach during the project discovery stage, focused on requirement gathering, understanding application scale, complexity & depth, grooming user stories and an effective product Roadmap for planning the client’s website upgradation.

Our developers worked with the client team remotely to ensure the best collaboration, as well as sharing our best RoR development practices to help increase the code quality and boost the webpage load time.

The Company:

The client is a leading online crowdfunding platform that enables everyone in India to raise funds for disaster relief, healthcare, sports, education, and other personal causes, with great ease. A team of bright, young & passionate entrepreneurs started their journey in 2010 to create a go-to-platform which will become the epitome of collecting funds for cancer treatment, transplants, life threatening diseases, ailments and other critical emergencies.

Challenges Faced:

The client was facing challenges in maintaining the platform due to the huge in-flow of user traffic. With the platform steadily becoming India’s most preferred platform to raise funds for personal causes, they needed critical tech updates in record time to protect their user profile data and safeguard the integrity of the application.

The client was keen on completing the project with a strict deadline. Some of the key challenges were:

  • — Upgrade their platform’s Ruby versions
  • — The application is a mega monolith with multiple engines in it and are interdependent, thus making individual engine upgrades harder.
  • — Lack of end to end testing and low number of rspec test coverage
  • — Unusual high number of dependencies, 200+ gems.
  • — A lot of manual testing effort requirements came up during and post upgrade.
  • — Responsibility to not affect and accidentally change any business logic due to sheer size of the application.

Keep the code up to date with parallel features to the ongoing development process. We kept a time budget for this activity every week and rebased the code from the main branch and resolved any issues arising due to new code added every week.

Our Approach:

We took a 2 step approach to upgrade the application’s rails version

  • — Upgraded from Rails 4.2 to Rails 5.1
  • — Next, upgraded from Rails 5.1 to Rails 6.1

This helped us in eliminating a lot of dependencies, depreciation issues and made the upgrade to Rails 6.1 smoother.

Solution Offered:

The client has chosen RailsFactory as the solution partner for this challenge due to the all-round technical expertise and years of experience in developing and debugging scalable, user-friendly applications in RoR.

Our initial engagement was the project discovery stage where we understood the application scale, complexity and depth for planning the proper upgradation without breaking the working application. This included upgrading gems, fixing rspec, and end-to-end test cases

We developed and carefully upgraded 200+ dependencies, which covered most of the existing application features. This step made it possible for our team to upgrade Ruby on Rails to the newer versions securely. After the upgrade was done, the rspec tests showed us all the use cases, where new libraries caused problems and we fixed them all.

After upgradation intensive manual and automated testing was added and done to ensure the application integrity and robustness. The upgraded models and controllers will provide support for the latest rails APIs along with end to end testing.

Tools and Technologies: Ruby, Ruby on Rails, AWS

Benefits to the Client:

The client’s platform performance has increased due to refactoring and bug fixing. Currently, they use a much more secure version of Ruby on Rails. Following are few benefits client had after using our services:

  • — Page load speed time is now increased by 73% as compared to earlier rails versions
  • — Upgraded libraries in new ruby version led to 3x increase in app performance
  • — Rails upgrade brought security features.
  • — Platform availability has gone up to 96% for their huge user base
  • — Significant improvement of app availability has led to huge savings per annum
  • — Quicker and easier future upgrades to rails application is now possible

About RailsFactory:

RailsFactory is a leading Ruby on Rails development company focused on delivering next generation vertical-specific RoR and Full stack solutions. Combining extensive technology expertise and industry-specific insights, we develop dynamic, scalable ruby on rails applications that can solve your specific business challenges.

We enable technology-driven business transformation by leveraging our extensive experience in developing high performing apps using full-stack technologies, agile development approach and process specific industry tools.

Your one-stop shop for expert RoR services.

Join 250+ companies achieving top-notch RoR development without increasing your workforce.