Unlimited flexibility and scalability:

Elevating Global Luxury Fashion eCommerce with High-end Sylius Framework

mytheresa-featured-top
mytheresa-featured-back
THE CLIENT

Mytheresa

Mytheresa is one of the leading global luxury eCommerce platforms shipping to over 130 countries. Founded as a boutique in 1987, Mytheresa launched online in 2006 and offers ready-to-wear, shoes, bags, and accessories for womenswear, menswear, and kidswear.

In 2022, Mytheresa expanded its luxury offering to home décor and lifestyle products with the launch of the category “Life”. The highly curated edit of over 200 brands focuses on true luxury brands such as Bottega Veneta, Burberry, Dolce&Gabbana, Gucci, Loewe, Loro Piana, Moncler, Prada, Saint Laurent, Valentino, and many more. Mytheresa’s unique digital experience is based on a sharp focus on high-end luxury shoppers, exclusive product and content offerings, leading technology and analytical platforms as well as high-quality service operations. The NYSE-listed company reported €855.8 million GMV in fiscal year 2023 (+15% vs. FY22).

The Purpose Of The Project

The project’s main goal was to migrate from a “legacy” solution based on Magento Enterprise. The solution was technologically outdated and caused limitations for the client in the form of difficulties with its maintenance and development. Due to the scarcity of testing automation, the process of implementing new functionalities was sometimes lengthy, so the platform could no longer support sufficient business growth.


After various assessments of potential solutions, Mytheresa decided to make the Sylius backend part of its new eCommerce ecosystem.

Problem

  • Migration of many millions of users from the legacy system. The problem here was not only a one-time migration but also state synchronization between applications as it was a transitional period in which the new application operated in parallel with the legacy application.
  • Staging process – daily change of prices and availability (activation) of products. Here, the problem was caused by the huge amount of data (many product variants) and the need to generate ready data in a short period.
  • Merchandising – a complex process of positioning products on listings, including many configuration possibilities. The problem in this process was the huge amount of data. Listings often contain several thousand products.
  • Data import & export – integration of feeds, ERP system. The problem of the varied format of the received data, as well as the requirements for the data exported from the application.
  • Catalog promotions – promotions broadcast on the product catalog, not on the basket. An additional requirement was also advanced promotion targeting and integration with the staging process.
  • Promotion labels – informing customers about assigned promotions on the product listing and product card. The problem here was the complex configuration of promotion targeting, and therefore the process must be well-optimized so that it does not affect the application’s performance.

 

analysis-icon

Solutions

  • Database optimization was made, new tables were introduced, their partitioning was used, and advanced indexes were designed to speed up data processing.
  • In order to organize the generated data, tools like queuing mechanisms (AWS) and scaling were used available in K8s (Kubernetes – KEDA).
  • A microservice operating between the store’s application and other applications was designed to unify the data. The data import itself was based on the experience gained while designing our import plugin. The use of the Symfony Serializer has been extended by designing dedicated logic for data normalization.
  •  Thanks to the flexibility of Sylius, the possibilities of targeting and configuring promotions have been expanded. The whole process has been optimized for memory consumption, thanks to which it is possible to quickly process large amounts of data. The possibility of targeting promotions was also significant, thanks to which the offer can be easily presented depending on the customer.
  • Optimized processes for deciding whether a product qualifies for promotion based on the implemented advanced configuration options.

 

moutain-icon

Implemented Functionalities

  • Product sale events

Creating a logic to generate notifications about starting promotions so that the store can then notify customers. The solutions are based on complex queuing and notification mechanisms (AWS SQS|SNS).

  • Express checkout – stateless checkout flow

​​Mechanisms have been implemented in the checkout process that allow flexible purchases to start, downloading data to order based on history or settings in the user’s account. The implementation required changes in the configuration of the state machine.

  • Country switching – multiple carts handling

The existing logic in Sylius was adapted to correctly handle the change of shopping channels during the checkout process. At the customer level, this aspect was important due to the various restrictions on product availability, shipping methods, and payment methods.

  • Availability of shipping methods, prioritization, and surcharges

The concept of zones in Sylius was extended with postal codes, a nested configuration for shipping methods was introduced depending on the geographic zone, and the content of the basket, and logic was designed to collect additional handling fees.

  • Gift cards & Wishlist

Ready plugins were customized for the client, new API endpoints were implemented, and ERP was integrated into the field of gift card support (AWS queues).

  • Product catalog with the option of searching and filtering

For this purpose, a solution based on OpenSearch (ElasticSearch fork) was used. The biggest challenge was the timely indexation of products. The indexing process was based on queues and scaled jobs using Keda.

  • Integration with SSO Systems

The client wanted to have control over access to specific resources based on assigned permissions. By combining ACL from Sylius Plus, we managed to obtain SSO.

  • Advanced user “session” system

Since it is a headless, API-based application, we needed an individual approach to the subject to harmonize the frontend, backend, and intermediate systems. This is done by implementing special headers identifying the client.

Used Technologies

Backend: PHP (Sylius 1.11, Symfony 5.4), GO, Kotlin, MySQL, Redis, OpenSearch, AWS

Frontend: React

The technologies were selected by teams responsible for individual functionalities. Currently, the company will break down individual functionalities into microservices.

 

Want to migrate from Magento to Sylius?

Results

The most important achievement is that the migration did not negatively affect the company’s revenues, which is usually the greatest risk in businesses on such a large scale. Currently, the company is generating regular growth, which shows that the platform is stabilizing. Mytheresa received a lot of positive feedback about the new store.

From a technical point of view, the current platform is much more flexible; it allows for several configurations, advanced targeting, and resignation from some external service providers in favor of functionalities directly implemented in the platform. In terms of infrastructure, the business is fully scalable, i.e., in the event of increased traffic in the application, the development team is able to quickly scale up the resources to meet current needs.

It should be noted that we are not the only agency working on the project, but the BitBag team had a significant impact on its course.

Our collaboration with Mytheresa was a deep dive into advanced eCommerce challenges. Tasked with managing a complex catalog, our engineers rose to the occasion, learning from Mytheresa’s meticulous global operations and customer-focused strategies. They collaborated with both internal and external team members, blending in a multicultural environment with enthusiasm and flexibility.

BitBag developers worked on the full tech stack, not only delivering Sylius extensions. They tackled the nuances of website performance maintenance and contributed to enhancements in shipping capabilities, gaining valuable insights into global eCommerce dynamics and the importance of customer satisfaction.  By working hand in hand, co-creating and adapting to the existing processes within Mytheresa, they met the client’s needs perfectly. Their involvement sped up the development process, making meeting the deadlines possible.

This experience not only honed our team’s skills but also underlined the value of adaptability and innovation in meeting diverse business needs.

Mytheresa

Sylius for fashion eCommerce platform

  • Data import & export
  • Migration of many millions of users
  • Unlimited flexibility and scalability
We chose BitBag because they had qualified Sylius developers on board, and they agreed to the form of cooperation we proposed, which was very important to us. From the very beginning, the cooperation went our way. Our team of programmers and BitBag programmers learned from each other and exchanged experiences, which had a positive impact on the efficiency and quality of work. The BitBag team has demonstrated flexibility and adaptability in adapting to our office culture and processes. All these aspects allowed for the efficient implementation of the successful project.
Philipp Barthold
Chief Technology Officer
We are here to help

Transform your fashion eCommerce with Sylius

Radosław Żurawski
CSO
Jakub Leśniewski
Business Development Representative
Sylius Officialy Trained Partner
Sylius Leading Partner
Sylius Extension Partner
Clutch Top Developer Poland
Vue Storefront Partner
Ibexa eZ partner