Ë
Case Studies
Ruby on Rails: Inventory Management Platform

A leading online inventory management and barcode solution provider expanded the capabilities of its solution by integrating API’s from eCommerce players like Amazon, Shopify, BigCommerce, Magento, Shipstation.

Inventory-Management-Platform

About The Client
The client is a niche technology firm providing a wide variety of barcode inventory control & scan pack qc system.

Business Objective 
Navtech’s client wanted to offer its customers the ability to import orders from various ecommerce platforms such as Amazon, Shopify, BigCommerce, Magento, Shipstation. The application needed to be intuitive that could be easily used by its warehouse staff with minimal training. It also needed to be scalable to allow high volumes of scan and pack across various sellers.

Why The Ruby Platform?
Navtech selects the most appropriate technology platform for each customer project. This project required combining data from a NoSQL data store and existing REST APIs to generate bespoke SVG visualisations created on the server. This content would then be presented through a responsively designed website and email channels.

The team compared the leading candidate technologies for the solution, which included various Java Frameworks, Node.js, and the PHP Framework. The bespoke SOLUTION would require extensive data manipulation, including sorting, grouping, mapping and combine. Ruby’s powerful support for such operations, when combined with implicit typing, lambdas, and other language features, made it a leading choice. The team decided that the resulting codebase would be quick to build, easier to understand, scale and maintain than the alternatives. Ruby’s interoperability with Java along with transcoding of the SVG visualizations into JPEG images for clients that did not support SVG. Email integration was simply using the Java Amazon AWS toolkit.

Leveraging Ruby On Rails for UI developers
Navtech created a project team by integrating UX and UI experts with server-side developers. Ruby on Rails appealed to UI users in many ways, including giving the functionality of separate controllers for UI and web services because of the MVC driven architecture. By relying on the underlying Model classes for all common functionality. And helping to expose the data model as a gem.
The UI components and applications are developed in a modular fashion which is automation test friendly and helps in long-term quality assurance.

Scaling teams and code
As well as making UI developers happy, RoR provided extended benefits for back-end developers, including :

Familiarity
The choice of a web framework that uses the MVC pattern reduces the learning curve for developers familiar with ASP.MVC, PHP or Java MVC frameworks.

Scalabile
The architecture was designed to scale to thousands of. The use of Nginx along with architecture being horizontally scalable gave us this option.

Testing
Navtech default development philosophy is driven by DevOps, we leveraged the below tool stack to achieve this-
CodeClimate for static code analyzer (consistently rate 3.7 + on CodeClimate)

  • New Relic for performance and server monitoring
  • The team found the online documentation, with extensive examples, really helped to jump start development.
Documentation
The team found the online documentation, with extensive examples, really helped to jump start development.


Project Scope
The project had a broad scope and included:

  • Analysis of the key components of the existing solution stack and identifying the integration points.
  • Identification of the product portfolio for different end users based on the varied requirements of each end user.
  • Development of a SaaS based product which is multi-tenant and used API based approach using Microservices architecture.

Development Methodology 
Navtech leveraged Agile driven development for this project. To start with our developers leveraged Bamboo for continuous integration and deployment. They used a file to create the functioning of the code which dictates the basic operating system as well as the steps for building their code into an image. Once the designs are completed locally, they are pushed which includes the Bamboo configuration to Github.

The Solution
Navtech created a SaaS based product which is multi-tenant and used API based approach using Microservices architecture. The application is available to access via a web application and an iOS application.

The first release of the solution was delivered in just 12 weeks and is in use today. The customer is very pleased with the results.