Sylius+Pimcore:

Advanced Sylius-based eCommerce system with Pimcore integration

THE CLIENT

Planeta Huerto

Planeta Huerto is the largest Spanish online retailer based in Alicante, Spain, created at the end of 2011 by brothers Pablo and Alfonso Sanchez. It has established itself as the undisputed leader in Spain and Portugal in online sales of eco-friendly, organic, healthy, and sustainable products in ten years. Planeta Huerto currently has more than 816 000 customers, 37 000 products reviews, and more than 35 000 products classified into a few main categories: the organic supermarket and products that customers can use to grow and produce themselves at home. The company is well known for the excellence of its service and the high-quality advice and content that it delivers to its customers to adopt healthier and environmentally-friendly lifestyles.

Problem

They hired us to help to replace the custom shop subsystem with a Sylius-based solution. The old, custom shop has limited functionalities. There was no space for marketing support as product placement articles or supporting sales with promotions and special offers. The client wanted to connect a blog platform that is a place where there is widespread knowledge about products and a place to support sales and advertise. According to eCommerce trends, there was also a big issue with using the old application on mobile devices. It was working very slow, and there were problems with displaying information which lowers the satisfaction of users and usability of the webshop. Last but not least, it was hard to find developers who would be able to work on a custom solution, support it, and expand its functionalities and features. The custom shop did not provide an API.
The user experience was also poor on the admin site: unintuitive management of shipping methods, costs for administration, management of coupons, and promotions were quite problematic. 

analysis-icon

Challenges

  • Migration of products and clients  from custom solutions to Sylius 
  • Handle a significant amount of customers and products – which in the past causes performance problems
  • Create a new account and login using FB/Google integration
  • ‘Free shipping’ which gives the client opportunity to make orders without shipping cost for the defined time 
  • Create ‘gift card’ functionality 
  • Creating products bundle using products available in the shop
  • Connection with Pimcore (Product Information System) and its customization 
  • Price list, which can be changed during the planned schedule
  • Sorting products by brands also creating an individual brand page
  • Extension of product attributes by “.pdf” file 
  • Assigning products to different sources, which gives, for example, different schedules of shipping 
  • Customers now can review products on product pages
  • For products and product categories logged in, customers can submit their questions – they can be converted to the Zendesk tickets or just answered by experts.
  • Expand shipping method that allows the customer to choose collection point (‘Collect from our warehouse’, ‘UPS access point’) 
  • Integration with Aplazame and Adyen payment methods
moutain-icon

Looking for Pimcore integration?

Solution & Outcome

The client came to us with the decision to use Sylius as a first step. Next, we looked through our existing plugins to save time during development. It became clear that the solution will need further customizations, but most features are already covered by existing open- and closed-source plugins.

Next, we prepared the first version of Sylius shop with plugins installed and API documentation through Postman examples so the front-end development could be started. It allowed us to find any problems or misconceptions as soon as possible, discuss them, and find proper solutions that we would implement in the future. 

  • A big part of Planeta Huertos’s marketing is blogging platforms.
    They create a lot of content to help their customers decide what they need to buy and how to use these products properly. It is an essential part of their marketing strategy, and the shop needed to be well integrated with the blogging platform. We decided against using WordPress as a part of the solution – we would use our open-source CMS plugin. Still, it needed some customization and new features to fit Planeta Huerto’s needs appropriately.
    We added the possibility to embed product data and link to the shop easily from CMS pages. The CMS plugin started as a simple solution to cover basic blogging needs, so now more features, like publication schedule, had to be added.  After some initial work, it became clear that the CMS plugin will fit Planeta Huerto’s needs (instead of WordPress)  to integrate it with the shop, further adding brand pages with all products from a given brand listed.
  • Search is a significant part of any webshop.
    The previous solution used a proprietary searching solution. Still, we decided that it will be replaced with Elasticsearch as the main search engine and, at the same time, caching solution for some of the data. It helped improve performance but required some discussion about the structure of indexes to use and some work because our open-source Elasticsearch plugin had to be customized a little bit. 
  • Webshop doesn’t do all the work by itself.
    For example, large eCommerce like Planeta Huerto has other systems to manage their stock, warehouses, and shipment of goods to all their customers – and all those systems had to be connected to a webshop to provide an accurate view of the current state of order.

    Luckily most of their systems used Kafka already, so the only thing we had to do was modify Sylius to provide and react to events sent through Kafka, and this allowed us to integrate correctly
  • It was decided this was the right moment to improve the product information management solution.
    Planeta Huerto agreed they will use Pimcore to manage descriptions, images, and other product-related data in both languages, so we customized Pimcore and integrated it with Sylius through Kafka messaging.
  • Each country has its online payment providers.
    We already had a plugin to work with Adyen, which our client uses. For Aplazame, a new one had to be developed to integrate it with Sylius. As a part of the process, we had to ensure both worked properly when integrating through API.
The Grand Final

Results

After a few months of cooperation, it appears a new system will soon be able to replace the old one.  Basing our work on Sylius, Pimcore, and existing plugins allowed Us to save some time – our client got a very advanced eCommerce system that manages:

  • marketing through product information,
  • selling,
  • shipping process,
  • payments,
  • warehouse stock.

Our backend work was integrated with the client’s new frontend – and created a complete solution for the whole platform. We have solved all problems mentioned above – the shop works excellent on desktops, tablets or phones. Used solutions allow for easy handling of many clients and easy extension by adding or modifying new functionalities in the future.

Curious about how this solution will look on your eCommerce?