Homepage > Portfolio > Stabilizing and Enhancing a Global E-commerce App for Shopify Stores

Stabilizing and Enhancing a Global E-commerce App for Shopify Stores

Azati’s team enhanced the public app for Shopify stores, available on the Shopify App Store. They boosted sales by implementing customizable pop-up notifications about purchases and customer activity through the Admin panel.

Customer

Our customer is a well-known member of the e-commerce industry boasting a global presence across countries such as Portugal, Slovakia, USA, Argentina, Mexico, and beyond. They are actively involved in the development and management of over five distinctive applications, catering to diverse industries and business sectors.

Objective

The client contacted Azati seeking solutions for challenges tied to their existing application. Faced with an unstructured microservice architecture, lack of testing, a large number of errors and an uncertain pricing policy, the customer sought to stabilize the application.

Azati proposed a comprehensive approach involving architectural enhancements, technology stack updates, bug fixes, and rigorous testing. The objective was to establish a robust foundation, streamlining the integration of new features into the system.

Сhallenges

#1

CHALLENGE#1:

 

The complexity of the application’s unclear architecture, coupled with a lack of documentation, made the local development deployment process excessively time-consuming. Creating the necessary documentation proved to be a substantial undertaking, stretching the timeline to nearly a month. However, this effort resulted in establishing a reliable foundation for future work.

CHALLENGE#2:

 

The lack of proper testing procedures proved to be a significant challenge, as even minimal changes made the application unstable and prone to failure. This created inconvenience for end users and complicated the maintenance and upgrade process. So, Azati’s team implemented a comprehensive testing approach, developing a rigorous testing system to ensure the application remains reliable and runs smoothly when changes are made.

#2
#3

CHALLENGE#3:

 

Without a clear roadmap, it was hard to figure out what tasks were most important and what to do next. This uncertainty made planning and getting things done less efficient. The team had trouble deciding which tasks to tackle first, slowing down our progress and making us less effective overall.

Process

At the project’s outset, we created detailed installation guides for local development. We established a test environment and implemented continuous integration and deployment (CI/CD) processes, automating tests whenever Pull Requests were made. Our approach involved writing tests alongside functional changes, ensuring continuous test coverage.

In parallel with this, we actively interacted with management, striving for clarity in the application development plans. This helped us prepare the system for upcoming changes while writing tests.

Furthermore, we reviewed and adjusted the app’s pricing policy. This strategic move enabled us to retain existing customers even as we addressed critical bugs, fostering a smoother transition during our improvement efforts.

Solution

We opted to enhance the existing application within its current architecture, retaining the technologies in use. Through continuous refactoring while developing new features and resolving errors, we optimized the application. This approach enabled us to eliminate redundant microservices, transforming the system into a more streamlined, monolithic application with clearly defined responsibilities for each component.

The current architecture includes:

  • Rails API backend, which ensures the transfer of necessary data to other services.
  • Vue.js frontend for the administrative part of the application.
  • AWS Lambda function for tracking the activity of store visitors, necessary due to high load.
  • A small Vue.js application installed in stores that displays notifications to visitors and receives data from the Rails API.

Results

The outcome is a stable application, devoid of critical errors, enabling seamless integration of new features. Enhancements in performance, stability, code quality, and documentation were implemented. These improvements guarantee the system’s capability to effectively handle high loads, such as those experienced during events like Black Friday or Cyber Monday, without difficulties or problems.

Technologies

 
 
 
 
 
 
 
 
 
 
 
 
 

Now

As of the beginning of 2023, the application, once plagued by numerous issues, has transformed from one of the worst performers in the customer’s portfolio into one of the best. The customer now expresses profound satisfaction with the application’s stability and development. It has evolved from a problematic, error-ridden system into one of the most hassle-free and stable applications within their portfolio by the end of the year.

Drop us a line

If you are interested in the development of a custom solution — send us the message and we'll schedule a talk about it.