Sylius Plus Créé par: In-house team Pays: Germany Catégories: Fashion Health & Care visit website
Replatforming of a leading online optician: Magento ➡️ Sylius Plus
Replatforming of a leading online optician: Magento ➡️ Sylius Plus

What is Brille24?

Brille24 is one of the leading online opticians in Europe promoting great value for a fair price. Not only does Brille24 sell glasses from brands such as Ray-Ban, Oakley, or Gucci, but the company also has its own lines, including a sustainable one, called Circular. Founded in 2007, twelve years later it was acquired by EssilorLuxottica – a market leader worldwide in glasses and glass production with a total turnover of €17,4 bln and 150,000 employees (2020).

In order to capture an even bigger chunk of the optical market, in 2021 Brille24 merged with 4Care GmbH, a thriving omnichannel seller of contact lenses in Europe. Together, the enterprise produces a turnover of around €50 mln and hires 150 employees in two locations – Kiel and Oldenburg.

From the very beginning, the main driving force for Brille24 founders was the idea of “customer empowerment”. They saw the optical business as outmoded and stiff, yet with a great potential for a market revolution. With the desire to build a transparent and easy-to-follow customer journey, Brille24 has just started a completely new chapter with its new e-commerce engine. 

Migration from Magento 1.9

In order to open up for the future, Brille24’s e-commerce team first needed to deal with the past. They were aware Magento 1 was heading towards EOL (it finally took place in June 2020) and started looking for alternatives. 

The obvious first choice was Magento 2, however with the performance and functional flaws of the platform it didn’t live up to their expectations. After an intense market search, Sylius Plus turned out to be the answer to their needs.

Still on Magento 1? Don’t miss out the future
Let’s talk about your options with Sylius framework

It all started with a very simple message from the ex-CTO of Brille24, Patrick Juergens. He sent it less than a month after Sylius’ stable release in September 2017:

Brille24, one of Germanys leading online opticians is looking for a new ecom system.

As usual, the most fruitful and long-term relationships start innocently and unexpectedly. Back then, we couldn’t even imagine what a great collaboration was ahead of us. Over these 5 years, we have had the pleasure to provide support for Brille24’s in-house development team in Oldenburg, including training sessions, architecture workshops, audits, and ongoing coaching.

Meanwhile, our lovely Customer heavily contributed to the Sylius ecosystem, sponsoring well-known extensions for Refund and Invoicing officially maintained by the Core Team. They also created their own plugins (check the company’s GitHub profile here):

  • Tier Price – enables pricing levels depending on product quantity
  • Custom Options – allows customers to add extra info to the ordered product
  • LDAP – secures unwanted logins
  • Order Log – provides activity logs for orders created by admin
  • Special Price – sets date ranges for prices

The cooperation brought mutual trust that eventually resulted in the ownership’s transfer of two other plugins from the Sylius Core Team to the Brille24’s team:

  • Order Comments – puts a message and notification for the customer
  • ShopApi – adds JSON API for headless implementations (being replaced soon by our new API Platform standard)

Finally, after 2,5 years of development, the Brille24 team decided to bring our collaboration to an even higher level – in June 2020 we signed a contract for Sylius Plus.

Why Sylius Plus

As reported by Max, the main benefits of upgrading to Sylius Plus have been the more direct contact with the Sylius developers via SLA (Jira Service Desk) and influence on the roadmap thanks to the Customer Success Management.

Besides, Max appreciates the return management and advanced user permissions functionality to restrict access and de-clutter the menu for his colleagues.

Sylius is a great open-source project with many active contributors. The architecture lends itself well to customization and extension which is really important for such a customized product like glasses. Many of the “missing” functionalities of the core like invoicing and admin order creation can be installed as a plugin.

An added bonus is that since Sylius is also a Symfony application – all of the Brille24 systems are now based on one framework.

– Maximilian Pesch, 4Care/Brille24.de Tech Lead

All this would have never happened if it wasn’t for Maximillian Pesch – Brille24 Tech Lead, Sylius long-term contributor and evangelist. Thank you, Max! We are lucky to have you in the Community!

Main goals and challenges

Design a flawless system with a clear structure

For Brille24 it was another system implementation, so their main goal, in short, was to do it better. They could finally design a system with clear responsibilities on what every part has to fulfill (Best of Breed). As Magento architecture cannot be simply copied into Sylius, the development team had to design it from scratch having slightly different blocks available. Their objective was to simplify it to the maximum extent, having in mind potential scaling (more channels, additional back offices, etc.) in the future.

Unify all of the international shops into one instance

The migration opened doors to some system optimization as well. It allowed unifying all 7 international shops (glasses24.com, opticien24.fr, optica24.pt, optica24.es, brillen24.nl, brillen24.be, and brille24.de) to the common system, reducing maintenance costs and efforts. 

A side effect of this structural change – it also made the marketing across the group easier. Until the migration took place, each market worked in a silo in a multichannel logic. Consolidating all of the instances allowed for moving towards omnichannelity, and more coordinated marketing activity. 

Complex data migration

Another challenge was migrating the data from Magento to Sylius (especially the customer data and the addresses). First of all the volume: Brille24 had over a million entries in the Magento database with addresses to migrate. Secondly: the validation, which in Sylius is much stricter with the address data, especially with different fields for house numbers.

Architecture overview

At first glance, we can see that re-platforming resulted in a simplified architecture. It is no surprise, as the previous system was designed a long time ago and was up-built by new features over the years. This of course allowed the Brille24 team to understand their domain even better. 

Old architecture

What is worth noticing, re-platforming unified used software. The old architecture was a mix of different frameworks, approaches, and practices. While choosing a proper tool for a job is one of the fundamental skills of a good developer, system unification increases the maintainability of the whole project

As Sulu, Sylius, Akeneo, and the Back Office system are all written in Symfony, it allows for better horizontal migration of devs. The flexibility of Sylius allowed for centralization of order processing logic as well as endorsement of the “Best of Breed” approach. Usage of ShopAPI provided separation of concerns between the front and back end while choosing RabbitMQ helped to achieve a better resilience of the catalog management.

Current architecture on Sylius Plus

Sylius has been used in the best possible way – as the headless core orchestrating the order flow.

Technology stack recap

  • Back end: Sylius, Symfony
  • CMS: Sulu
  • PIM: Akeneo
  • Search: ElasticSearch, Algolia
  • Payments: Adyen
  • Customer reviews: Trustpilot

The development team reports integrating Sylius with other – new and existing applications was really easy. For Brille24’s custom Adyen integration, Sylius processed more payment information, such as for example saving response time from Adyen.

For our custom Adyen Integration it was very easy to extend Sylius to also process more payment information (eg. saving response from Adyen).

The integration of Akeneo was easy and the existing ElasticSearch plugin from BitBag was very helpful.

Generally the plugin development for Sylius is very easy with the Plugin Skeleton and its integrated test application.

– Maximilian Pesch, 4Care/Brille24.de Tech Lead

Further plans

With all systems unification and stabilization under the Symfony framework flag, Brille24 observed 35% better Page Load Time. The team is planning the further consolidation of the 4Care’s tech stack, which shall bring another exciting challenge.

The flexibility with this system is amazing. We can just add more shops to the front end and with minimal configuration in Sylius we can add a new channel.

Furthermore, it is very easy to integrate other systems with this headless approach. We are currently trying to add a second back-office system to Sylius which is very easy since they can just use the same endpoints.

– Maximilian Pesch, 4Care/Brille24.de Tech Lead
Sylius checkout

As the relationship is still ongoing happily, we are already planning the next actions together. In 2019, we were invited to the Sylius API hackathon at Brille24’s HQ in Oldenburg. You can check the recap from the event here.

In June 2022, we invited Max to Berlin to our first-ever Sylius Germany User Group meetup where he spoke about this project in detail. He also made it to SyliusCon 2022, our conference fully dedicated to Sylius, presenting the migration from Magento 1 to Sylius Plus to a broader audience.