Featured image of post Online store for Groupe E's household appliances subsidiary

Online store for Groupe E's household appliances subsidiary

Implementation of an online store for Groupe E: technical challenges, synchronization with customized ERP, performance optimization. Success!

Introduction

When Groupe E approached us to redesign their main website and integrate an online store for their appliance subsidiary, Groupe E plus, we immediately took on the challenge. Our goal was to offer a unique browsing experience to visitors, while using two distinct platforms: Drupal for the main site and PrestaShop for the online store. The transition between the two had to be seamless, without users noticing. To achieve this, it was essential to create a common design for both solutions, while allowing each to display blocks and information from the other. Thus, the main site would display the featured products and the shopping cart, while the store would take over the header, footer and some CMS blocks.

Collaboration with Groupe E plus

As part of the online store team, I worked closely with Groupe E plus to provide them with an online store that met their needs. The project quickly evolved from what was initially planned as a small store to establish an online presence and test the viability of the project into an ambition to compete with players such as Fust, Digitec and Media Markt, adding significant customizations in the code.

Technical challenges

The realization of this project was complex, mainly due to two factors. First, this was my first experience with PrestaShop, and being used to the Symfony world and its quality standards, I was confronted with the excessive complexity and questionable quality of the PrestaShop 1.6 core (which has improved significantly in later versions). In addition, Groupe E plus wanted an integration with their own custom ERP/CRM system, developed and maintained by another company.

This ERP was not a popular solution on the market, which meant that no existing connectors were available, whether for PrestaShop, Magento or other languages. So I had to develop a connector myself to link products and customers from the ERP to products, prices, promotions, customers, addresses, warehouses and orders in the shop.

Synchronization and optimization challenges

This synchronization task proved to be complex, especially in terms of performance. The ERP APIs could not reliably retrieve only the latest changes. Therefore, it was necessary to extract the entire data set, representing hundreds of thousands of data, in order to identify the differences to be applied, in both directions.

Ideally, this synchronization task would have been performed on an independent server acting as an intermediary between the ERP and the online store. However, Groupe E wanted to reduce costs by running this task on the same server as the store, thus monopolizing server resources, leaving little capacity available for the store’s operation. Several iterations were required to achieve regular synchronization tasks, keeping the store up to date even in the event of network, server or ERP outages, while allowing the store to function independently of the synchronization status.

Conclusion

This project of setting up an e-commerce shop for Groupe E was a real learning experience on several aspects. It allowed us to better understand the inner workings of PrestaShop, to optimize the performance of the PHP code and the server, as well as to set up an automatic recovery management after an interruption. Despite the technical challenges, we are proud to have delivered a functional online store and to have offered Groupe E plus a competitive online presence in the household appliances sector.