PIELERS is a cloud-based open food retail network that enables peer2peer food trading. The platform provides food producers with direct access to their customers. PIELERS makes food delivery easier, more transparent, and fairer through a trading platform with multiple touch points for home and business customers and integrated API interfaces for delivery and payment. The main goal was to build a platform that enables food-producers to market their products directly to consumers. But let’s start from the beginning!
What was the challenge?
The main challenge in this project was to build an online marketplace with multiple sellers in one shopping cart, split payments, multiple touchpoints and different retailers with their respective fulfilment and payment conditions. No intermediary trade – just honest, direct marketing. In addition, Braune Digital’s customer, PIELERS is a startup that grows in an agile way, therefore the architecture of the system has to buffer the agile company development.
But why exactly Sylius was chosen?
For PIELERS, Sylius has been a perfect choice because it is based on the full-stack Symfony framework.
Felix Baltruschat - CTO Braune Digital
Sylius is flexible enough to realize a marketplace with mixed shopping carts in headless approach. It is modular in structure, so it can be extended at any time for further tasks and user groups.
What’s important, the cloud needs to interact with the systems of logistic and payment providers. It is compatible with multiple touchpoints and needs-specific frontends.
In summary, the flexibility of Sylius has a positive effect on the scalability of the project and the cost efficiency.
What about the architecture overview?
Well, the platform consists of different domains (at the moment PIELERS.de and Markterei.de) that run on Sylius. Therefore, they used the Theme and Channel bundle. The multi-layer architecture encapsulates the different areas of responsibility (payment, orders, invoicing, search, etc.) into individual modules that are linked together. The system is designed to be enhanced and adapted to the particular project scenario. What’s more, the search is based on Elasticsearch.
Also, the marketplace is role-based and currently comprises four roles that interact with each other in different scenarios: end customers, merchants, logisticians, and operators. Merchants and logisticians receive a complete backend that makes invoices and orders available and searchable. A reporting dashboard contains the most important key figures for platform operators, logisticians and dealers. Drilldown functions allow the analysis of trends and actions. Merchant-backend and operator-backend run with Angular via Sylius REST API. The REST API enables the development of project-specific applications and the linking of existing systems (for example, ERP or CRM systems, mobile apps, various logistics connections).
Braune Digital integrated workflows with the help of the winzou StateMachine Bundle and MessageQueue (creation of invoices, payment transactions, commission settlements, etc.) in order to stay flexible regarding scalability and potential change of servers. They are extremely helpful especially for the ordering process within the platform. An intelligent caching ensures a high-performance delivery of the page. Hosting can be done in any size cluster. Also, they have programmed their own Marketplace-Bundle for mixed shopping carts.
Third-party tools used in this project:
Braune Digital used AWS – Amazon Web Service with NGINX due to its speed. The handling was quite uncomplicated.
“Behind PIELERS and Markterei lies a complex marketplace technology that has high requirements. Food products are marketed directly to the end customer by producers with different delivery services and conditions. We are very satisfied with the implementation!” – Dr. Julia Köhn – CEO PIELERS