dna image

From Zero to Market: Building a Resilient Web Solution in Just 7 Months

E-commerce
screen
  • Node JS icon
  • Kubernetes icon
  • Next.js icon
  • React JS icon

About project

This case study showcases a large-scale eCommerce transformation for a well-established online retailer and wholesaler with over 20 years of experience. The client manages an extensive portfolio of online stores, offering a diverse range of industrial and commercial products. The project focused on optimizing product information management and streamlining backend operations to support a catalog spanning hundreds of brands and over a million items.

Their diverse product range includes construction equipment, repair parts, fireplaces, and barbecue grills.

The project involves migrating a large network of eCommerce websites to a more scalable and efficient ecosystem. Akeneo is being implemented for centralized product information management, while Odoo supports streamlined order processing. To ensure smooth platform communication and long-term scalability, we introduced an integration layer and automated deployment infrastructure as part of our DevOps infrastructure management services. The system also features a centralized management interface that simplifies multi-store operations, design adjustments, and configuration of individual sales channels.

  • Project

    End-to-end eCommerce transformation
  • Project Duration

    7 months
  • Client’s location

    Confidential

Business Challenges

Multi-Channel Settings Management

  • Challenge:

    Managing settings across multiple domains individually.

  • Solution:

    Developed a custom admin panel for centralized control of images, themes, and SEO/meta data per channel.

Advanced Product Variations & Reviews in Akeneo

  • Challenge:

    Handling complex variations (color, size, material) and integrating customer reviews.

  • Solution:

    Extended Akeneo with custom associations for variations and a dedicated review module linked to product data.

Content Page Management

  • Challenge:

    Need for unified content editing across domains using global variables.

  • Solution:

    Built a content management module in the admin panel for easy edits and dynamic content personalization.

Dynamic Data & Complex Queries

  • Challenge:

    Managing large volumes of backend-driven UI data without performance issues.

  • Solution:

    Designed optimized query structures and synced endpoints for real-time updates with minimal latency.

Scalability via Kubernetes

  • Challenge:

    The existing infrastructure lacked dynamic scalability and efficient container management.

  • Solution:

    Migrated to Kubernetes for automated deployment, scaling, and high application availability — a key part of our Kubernetes development and DevOps containerization strategy.

Large File Import Handling

  • Challenge:

    Risk of failed imports due to large file size or system interruptions.

  • Solution:

    Split imports into atomic tasks using Bull (Node.js) and Redis for retry logic and reporting.

Optimizing Search with ElasticSearch

  • Challenge:

    PostgreSQL struggled with large datasets and flexible filtering.

  • Solution:

    Integrated ElasticSearch for faster, scalable search, advanced filtering, and full-text query support.

Determine filterable attribute for products

  • Challenge:

    PIM doesn't provide an out-of-the-box opportunity to determine which attributes should be used for a particular category, so that we could filtering products by them. Each product can have its own set of filterable attributes, and if not for any workarounds, we would have to query all the products and its filterable attributes (which would not be feasible task at all)

  • Solution:

    We have introduced a flow where the admin should create a family (~set of attributes), which name corresponds to the title of the category, and specify the exact set of filterable attributes directly. So when we query a category, we can easily determine its own set of attributes without querying all the products.

Handle big import file import

  • Challenge:

    We have a functionality when we have to handle big import files and create an database entity corresponding to each row. But the problem was that we could not guarantee that the import will finish , for example , before deployment or without other reason for breaking the connection.

  • Solution:

    We separated the whole task to a set of atomic tasks (each of them were responsible to handle and create only one entity), used task queue (a Nodejs library Bull) with Redis as a broker. If one of more of the atomic tasks fails, we can set it to retry. When the last task is finished, we collect the report about the whole file and sent it to the user, knowing that the import has finished correctly without lost of data.

displays

Results and Key Metrics

Improved Query Response Time

  • Cold query response: Reduced from ~210ms (PostgreSQL) to ~80ms (ElasticSearch).
  • Repeated query response: Reduced from ~170ms (PostgreSQL) to ~20ms (ElasticSearch).

Enhanced Filtering Capabilities

  • NoSQL Search Engine enabled the implementation of complex filter sets and variations with ease.

Scalable Performance

  • Maintained stable performance metrics for datasets of 3 million records, with expectations of handling even larger datasets in the future.

Advanced Search Features

  • Enabled full-text search, support for misspelled queries, and improved relevance for search results.

Features

  • Centralized management of multiple websites in an admin panel, including configuration, UI styling, and content management, with bulk editing capabilities.
  • Simplified content management with dynamic variables for centralized updates across websites.
  • Secure checkout process integrated with Paypal for payment handling.
  • Automated tax calculations for different states using Avatax integration.
  • Integrated order tracking with a Shipstation module for real-time updates.
  • Ability to create and manage websites with varying search functionality and unique product pages.
  • Advanced cross-sell and upsell functionality for recommending related or complementary products.
  • Enhanced filtering and sorting capabilities for improved product discovery.
  • Centralized review management to publish feedback across multiple channels.
  • ElasticSearch integration for faster and more accurate search results.
  • Comprehensive logging and performance monitoring using New Relic.
  • Deployment and scaling managed via Kubernetes for high availability and resource efficiency — an example of our DevOps containerization approach within Kubernetes development.
  • Dedicated module for streamlined editing of content pages with SEO optimization and dynamic variable support.
  • Atomic task-based handling of large import files with retry mechanisms and detailed reporting.

Key Results

  • Faster Query Execution

    ElasticSearch’s performance optimization reduced query response times significantly, enhancing the overall user experience and reducing the load on the main database.

  • Flexible Filters

    Developers could easily implement intricate filter combinations, adapting to changing business requirements without heavy modifications.

  • Reliability at Scale

    ElasticSearch provided consistent and stable performance even with large-scale datasets.

  • Improved Search Functionality

    The integration unlocked new search features such as full-text capabilities and typo tolerance, ensuring more relevant results for users.

We will contact you shortly to arrange a meeting to discuss your goals. icon team

Kashcheiev Maksym

Head of Business Development

contact us:

or via Email
clutch
We are on the Сlutch
We already have 5.0 and 40 reviews from satisfied customers
View our profile