Home
Overhaul of Existing Ruby on Rails Application

Overhaul of Existing Ruby on Rails Application

to :

Client

Problem

What was the problem to be solved?

Qualis had a legacy Rails application that was slow and difficult to update.

Solution

What was the proposed solution?

We upgraded the application to the newest version of Ruby on Rails and performed massive cleanups on the codebase itself.

Challenges

What challenges arose during the project?

The existing codebase was very poorly written. Additionally, the problem space itself demanded a lot of domain-specific knowledge.

Technical

What was the technical approach to the project?

We decided to start over and rewrite the codebase from scratch.

Management

What was the project management approach to the project?

We used an Agile approach to manage the large team of developers tasked with rewriting a codebase that had been several years in development.

Architectural Description

What platform was built for this project?

The application runs on an AWS-based stack.

Lessons

What did you learn from working on this project?

We learned to budget time in for learning about new domains. This application included a lot of new stuff that none of us were familiar with from the health care industry. You have to budget time when managing a project just to learn about the ins and outs of the industry.

Benefits

How did this project benefit the client?

The application was much faster, has robust test coverage, and is now easily updated for future features.

The Team

Who worked on this project?

Proficiencies

What tools, techniques and methodologies were used on this project?

[object Object]

Agile

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams

[object Object]

Amazon DynamoDB

DynamoDB is a nonrelational database for applications that need performance at any scale

[object Object]

Amazon EC2

Elastic Compute Cloud is a web service that provides secure, resizable compute capacity in the cloud.

[object Object]

Amazon Elasticsearch Service

Fully managed, reliable, and scalable Elasticsearch service.

[object Object]

Amazon Route 53

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.

[object Object]

Amazon S3

Object storage built to store and retrieve any amount of data from anywhere

[object Object]

Amazon SQS

Fully managed message queues for microservices, distributed systems, and serverless applications

[object Object]

AWS AppSync

AWS AppSync automatically updates the data in web and mobile applications in real time, and updates data for offline users as soon as they reconnect.

[object Object]

AWS Auto Scaling

Add or remove compute capacity to meet changes in demand

AA

AWS Availability Zones

An availability zone is a logical data center in a region available for use by any AWS customer.

[object Object]

AWS CodeDeploy

Automate code deployments to maintain application uptime

[object Object]

AWS Elastic Beanstalk

AWS Elastic Beanstalk is an orchestration service offered from Amazon Web Services for deploying infrastructure which orchestrates various AWS services, including EC2, S3, Simple Notification Service (SNS), CloudWatch, autoscaling, and Elastic Load Balancers.

[object Object]

AWS IAM

Securely control access to AWS services and resources for your users

AR

AWS Regions

A Region is a geographical area, which consists of two or more Availability Zones, which are synonymous for a Data Center.

[object Object]

Elastic Load Balancing

Achieve fault tolerance for any application by ensuring scalability, performance, and security.

[object Object]

Git

Fast, scalable, distributed revision control system

[object Object]

JavaScript

JavaScript is the world's most widespread programming language, powering the Internet.