Nieograniczona elastyczność i skalowalność:

Sylius jako rozwiązanie dla globalnej platformy eCommerce z modą luksusową

mytheresa-featured-top
mytheresa-featured-back
KLIENT

Mytheresa

Mytheresa to jedna z wiodących platform eCommerce z branży mody luksusowej, dostarczająca produkty do ponad 130 krajów. W 1987 roku powstał pierwszy butik Mytheresy, a w 2006 roku firma rozpoczęła działalność internetową kierując swoją ofertę zarówno do kobiet, mężczyzn i dzieci. W ofercie znajduje się ponad 200 luksusowych marek, takich jak Bottega Veneta, Burberry, Dolce&Gabbana, Gucci, Loewe, Loro Piana, Moncler, Prada, Saint Laurent, Valentino i wiele innych.

W 2022 roku Mytheresa rozszerzyła swoją luksusową ofertę o produkty do wystroju wnętrz i produkty lifestylowe, wprowadzając kategorię „Życie”. Unikalne doświadczenie cyfrowe Mytheresa opiera na ekskluzywnych ofertach produktów i treści, wiodących technologiach i platformach analitycznych, a także wysokiej jakości usługach. Spółka notowana na NYSE odnotowała GMV w wysokości 855,8 mln euro w roku finansowym 2023 (+15% w porównaniu z rokiem finansowym 22).

Główny cel projektu

Głównym celem projektu była migracja z rozwiązania “legacy” opartego na Magento Enterprise. Rozwiązanie było przestarzałe technologicznie i powodowało ograniczenia dla klienta w postaci trudności w jego utrzymaniu i rozwoju. Ze względu na niedostatek automatyzacji testów, proces wdrażania nowych funkcjonalności był czasami długotrwały, przez co platforma nie była już w stanie wspierać wystarczająco rozwoju biznesu.

Po różnych ocenach potencjalnych rozwiązań Mytheresa zdecydowała się włączyć Syliusa do swojego nowego ekosystemu eCommerce.

 

Problem

  • Migracja milionów użytkowników ze starszego systemu. Problemem była tutaj nie tylko jednorazowa migracja, ale także synchronizacja stanu pomiędzy aplikacjami, gdyż był to okres przejściowy, w którym nowa aplikacja działała równolegle z aplikacją legacy.
  • Staging process – dobowa zmiana cen i dostępności (aktywacji) produktów. Problemem była ogromna ilość danych (dużo wariantów produktu) i potrzeba generowania gotowych danych w krótkim okresie czasu.
  • Merchandising – złożony proces pozycjonowania produktów na listingach obejmujący ogrom możliwości konfiguracyjnych. Problemem w tym procesie była ogromna ilość danych. Często listingi zawierają po kilka, kilkanaście tysięcy produktów.
  • Import i export danych – integrację z systemem ERP. Microsoft Navision, problem zróżnicowanego formatu otrzymywanych danych, a także wymagań co do tych eksportowanych z aplikacji.
  • Katalog promocji – promocje nadawane na katalogu produktów, a nie na koszyku. Dodatkowym wymaganiem było też zaawansowane targetowanie promocji oraz integracja z procesem stagingowym.
  • Etykiety promocyjne – informowanie klientów o przypisanych promocjach na liście i karcie produktu. Problemem była tutaj złożona konfiguracja targetowania promocji, a przez to proces musi być dobrze zoptymalizowany, aby nie wpływał na wydajność aplikacji.

 

analysis-icon

Zastosowane rozwiązania

  • Dokonano optymalizacji baz danych, wprowadzono nowe tabele, użyto ich partycjonowania i zaprojektowano zaawansowane indeksy mające na celu przyspieszenie obróbki danych.
  • W celu uporządkowania generowanych danych wykorzystano mechanizmy kolejkowania (AWS) i skalowania przy użyciu narzędzi dostępnych w K8s (Kubernetes – KEDA).
  • Do unifikacji danych zaprojektowano mikroserwis funkcjonujący pomiędzy aplikacją sklepu i pozostałymi aplikacjami. Sam import danych oparto na doświadczeniu zdobytym podczas projektowania naszego pluginu do importu. Rozbudowano użycie Symfonowego Serializera poprzez zaprojektowanie dedykowanej logiki do normalizacji danych.
  • Dzięki elastyczności Syliusa rozbudowano możliwości targetowania i konfiguracji promocji. Cały proces został zoptymalizowany pod kątem zużycia pamięci, dzięki czemu możliwa jest szybka obróbka dużej ilości danych. Szczególnie istotna było również możliwość targetowania promocji dla klientów VIP, dzięki czemu w łatwy sposób można prezentować ofertę w zależności od Klienta.
  • Zoptymalizowano procesy dotyczące podejmowania decyzji czy produkt kwalifikuje się lub nie do promocji na podstawie wdrożonych zaawansowanych opcji konfiguracyjnych.

 

moutain-icon

Wdrożone funkcjonalności

  • Sprzedaż produktów

Stworzenie logiki umożliwiającej generowanie notyfikacji o rozpoczynających się promocjach, aby móc następnie powiadomić o nich klientów drogą mailową lub poprzez web-pushe. Rozwiązania oparto o złożone mechanizmy kolejkowania i notyfikacji (AWS SQS|SNS)

  • Express checkout

Zaimplementowano mechanizmy w procesie checkoutu umożliwiające elastyczne rozpoczęcie zakupów, zaciąganie danych do zamówienia na podstawie historii lub ustawień w koncie użytkownika. Implementacja wymagała zmian w konfiguracji maszyny stanów.

  • Obsługa wielu koszyków

Dopasowano istniejąca logikę w Syliusie do prawidłowej obsługi zmiany kanałów zakupowych w trakcie procesu checkout. Z poziomu klienta było to istotne ze względu na zróżnicowane restrykcje dotyczące dostępności produktów, metod wysyłki, metod płatności.

  • Metody wysyłki

Rozbudowano koncept stref w Syliusie o kody pocztowe, wprowadzono zagnieżdżoną konfiguracje dla metod wysyłki w zależności od strefy geograficznej, zawartości koszyka, zaprojektowano logikę umożliwiającą pobór dodatkowych opłat związanych z wysyłką (ubezpieczenie, dopłata do dużych przesyłek).

  • Karty podarunkowe i lista życzeń

Dokonano customizacji pod Klienta gotowych pluginów, zaimplementowano nowe endpointy API, zintegrowano się z ERP w zakresie obsługi kart prezentowych (AWS queues).

  • Katalog produktów z opcją wyszukiwania i filtrowania

W tym celu użyto rozwiązania opartego o OpenSearch (fork ElasticSearch’a). Największym wyzwaniem była właściwa w czasie indeksacja produktów uwzględniająca inne procesy w aplikacji (Staging, aplikowanie promocji z katalogów). Proces indeksowania oparto o kolejki i scaled jobs z wykorzystaniem Kedy.

  • ACL – zarządzane rolami na stronie

Klient chciał mieć kontrolę nad dostępami do konkretnych zasobów w oparciu o przypisane uprawnienia. Spinając razem ACL pochodzący z Sylius Plus’a z integracją z Active Directory (system zarządzania kontami i uprawnieniami w całej organizacji), udało się uzyskać SSO.

  • Zaawansowany system „sesji” użytkownika

Z racji tego, że jest to aplikacja headless, API-based, potrzebowaliśmy indywidualnego podejścia do tematu, aby zgrać frontend, backend, oraz systemy pośrednie. Odbywa się to dzięki zaimplementowaniu specjalnych nagłówków identyfikujących klienta (niezależnie czy jest zalogowany).

 

Wykorzystane Technologie

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

Frontend: React

Technologie wybrane zostały przez zespoły odpowiedzialne za poszczególne funkcjonalności. Obecnie firma będzie poszczególne funkcjonalności rozbijać na mikroserwisy napisane w języku GO.

 

Interesuje Cię migracja z Magento na Syliusa?

Rezultat

Najważniejszym osiągnięciem jest to, że migracja nie wpłynęła negatywnie na przychody firmy, co zwykle jest największym ryzykiem w biznesie na tak dużą skalę. Obecnie firma generuje regularny wzrost, co świadczy o stabilizacji platformy. Mytheresa zebrała wiele pozytywnych opinii na temat nowego sklepu.

Z technicznego punktu widzenia obecna platforma jest znacznie bardziej elastyczna; pozwala na kilka konfiguracji, zaawansowane targetowanie oraz rezygnację z niektórych zewnętrznych dostawców usług na rzecz funkcjonalności zaimplementowanych bezpośrednio w platformie. Pod względem infrastruktury biznes jest w pełni skalowalny, czyli w przypadku wzmożonego ruchu w aplikacji zespół programistów jest w stanie szybko skalować zasoby, aby sprostać bieżącym potrzebom.

Należy zaznaczyć, że nie jesteśmy jedyną agencją pracującą nad projektem, natomiast zespół BitBag miał znaczący wpływ na jego przebieg.

Nasza współpraca z Mytheresa polegała na głębokim zanurzeniu się w zaawansowane wyzwania eCommerce. Nasi inżynierowie, którym powierzono zadanie zarządzania złożonym katalogiem, stanęli na wysokości zadania, ucząc się na podstawie skrupulatnych globalnych działań firmy Mytheresa i strategii zorientowanych na klienta. Współpracowali zarówno z wewnętrznymi, jak i zewnętrznymi członkami zespołu, wtapiając się w wielokulturowe środowisko z entuzjazmem i elastycznością.

Programiści BitBag pracowali nad pełnym stosem technologii, nie tylko dostarczając rozszerzenia Sylius. Zajmowali się niuansami związanymi z utrzymaniem wydajności witryny internetowej i przyczynili się do ulepszenia możliwości wysyłki, zdobywając cenne informacje na temat globalnej dynamiki handlu elektronicznego i znaczenia zadowolenia klientów. Pracując ramię w ramię, współtworząc i dostosowując się do istniejących procesów w Mytheresie, doskonale trafia w potrzeby klienta. Ich zaangażowanie przyspieszyło proces rozwoju, umożliwiając dotrzymanie terminów.

To doświadczenie nie tylko udoskonaliło umiejętności naszego zespołu, ale także podkreśliło wartość zdolności adaptacyjnych i innowacyjności w zaspokajaniu różnorodnych potrzeb biznesowych.

Mytheresa

Sylius dla globalnej platformy eCommerce z modą luksusową

  • Import&Eksport danych
  • Migracja milionów użytkowników
  • Nieograniczona elastyczność i skalowalność
Wybraliśmy BitBag, ponieważ mieli na pokładzie wykwalifikowanych programistów Syliusa i zgodzili się na zaproponowaną przez nas formę współpracy, co było dla nas bardzo ważne. Od samego początku współpraca układała się po naszej myśli. Nasz zespół programistów oraz programiści BitBag uczyli się od siebie i wymieniali doświadczeniami, co pozytywnie wpłynęło na efektywność i jakość pracy. Zespół BitBag'a wykazał się elastycznością i zdolnością adaptacji w dostosowywaniu się do kultury i procesów naszego biura. Wszystkie te aspekty pozwoliły na sprawną realizację zakończonego sukcesem projektu.
Philipp Barthold
CTO
Our clients

Case studies

Skorzystaj z naszego doświadczenia

Wynieś swój eCommerce z modą na wyższy poziom dzięki Syliusowi

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