BigCommerce B2B Store for
A rigging equipment retailer entrusted Widerix to develop a new solution which provides better customer experience and marketing capabilities
The client sells a wide range of Rigging equipment to companies in the US and other regions. Catalog contains more than 12000 products with a set of options.
The client wants to increase online sales through developing a new BigCommerce store. It should have modern design, work fast and provide more features to customers.
The new solution should include the following features:
Traditional purchase flow with PLP, PDP, Cart Page and Checkout;
Company management capabilities;
Custom one page checkout;
Flexible products search;
Support different payment methods and shipping options;
Customer specific prices.
All data of existing companies and their users should be migrated and adjusted within the rules of the new system;
Flexible products search is not out of the box of BigCommerce functionality and it was necessary to implement from scratch;
The current system operates 24/7 and it was necessary to make the migrations without downtime and losing any data.
Based on the provided requirements and a fact that a few features that are not out of the box functionalities and should be developed from scratch, the Widerix team decided to use the Headless architecture approach. It would allow us to reduce development costs of custom features and meet the client's requirements of the solution performance.
So the first step was what tools to use for the new storefront. Based on our experience Next.js was chosen as a framework for the development of the new storefront.
Bundle B2B was used for supporting company management capabilities.
In the project discovery phase, the client also mentioned that the marketing team wants to have the ability to manage content and to do A/B testing to find enhancements that increase conversion rate.
So the next step was to decide which CMS to use. The choice was to use Builder.io which has great content management capabilities and supports A/B testing. It also works fine with Next.js. Google Analytics and Google Tag Manager were used for all necessary marketing metrics.
The next was a data migration to BigCommerce. For that was created a custom migration tool which parses, adjusts and uploads data of catalog, companies and customers to BigCommerce through API.
Elasticsearch was used for supporting flexible product search. The product’s data is stored there and synced with BigCommerce catalog data. It allowed customers to use wildcards and use any product attribute for search.
Integration with Stripe was implemented to allow accepting different payment methods. All implementation aligns with PCI DSS compliance.
To provide good reliability and performance, Amazon Web Services were used for hosting all applications and databases. All artifacts were wrapped into Docker containers and deployed there.
Also Grafana was used for monitoring of the applications. Health checks and crucial metrics of application performance which have an effect on conversion are being tracked there. It proactively prevents impediments and losses for business working.
Load balancer was established to split traffic between both systems for smooth migration to the new system. During the testing period we added syncing between new and old systems to prevent any data losing after the old system is switched off. After we verified that the new system is workable, we sent full traffic to the new system. It allowed business to make a soft launch and keep it working without any down time. Blue/Green deployment approach was implemented to prevent any down time during updates.
After 6 months of close collaboration with the client the new system with all necessary functionality was produced.
A few weeks after launching, the total sales have risen. The client's marketing team is satisfied with the content management and A/B testing capabilities. The Customer satisfaction score has also risen.
Platforms: BigCommerce, Bundle B2B, Stripe, Builder.io, Amazon Web Services.
Frameworks and Tools: Next.js, Node.js, Docker.