The client, — online flowers and gifting company HQed in Kuwait, — reached out to us with the request to scale up the existing e-commerce system and improve its performance. The renewed platform has to combine features of a marketplace, delivery service, and CRM, working for different countries all over the world.
The idea that lies behind the project is to bring to the market the service that fully sources the gift arrangements and does the last-mile delivery of them. To achieve this, the client needed development team augmentation by an outstaffing model of cooperation.
The client company provides customers with the services of producing and delivering gifts. Operating in different countries, the company sources its flowers from local growers and farmers, and involves its own designers to create bouquets and gifts. They also partner with local and international brands to offer customers a wide range of gifts including chocolate, perfumes, cakes and more. The company operates in 36 cities across the MENA region and UK, offering same-day delivery by their own fleet.
The client required a fast, scalable system with a custom CRM to streamline key processes:
The service consists of several functional parts: a website that functions like an online store with the personal cabinet of the customer and the CRM on the manager side to work with orders, payments, suppliers, warehouse management, and logistics.
On the customer side, the user can create a personal cabinet or make orders without registration. When the customer has chosen gifts, address, date and time of the delivery, the system automatically calculates costs and passes the order to the delivery service.
On the company side, the manager can add goods to the online store, check the order status, make sure that all the goods are available and order additional goods from the suppliers, also check payments and bills.
To ensure easier and faster development of new features and scaling of the system, as well as for optimisation of the processes inside the system, the development team decided to implement some essential changes into the project architecture:
Microservices architecture
Each process in the company is developed as a separate microservice.
There are microservices responsible for the goods catalogue, logging to the personal cabinet of the customer, logistics, notifications, orders processing, payments, shipping, ticketing and other functions.
It gives the development squads the possibility to work on the different features simultaneously without interrupting each other, avoiding conflicts in development. The microservices architecture also gives the possibility to implement different features for different countries without interrupting the work of other company branches.
API integration
Various payment systems are implemented via APIs. It gives the possibility to use more than 15 payment systems, some of which are universal, while others are unique to particular countries.
It empowers the system with search and recommendation services based on artificial intelligence and machine learning algorithms. Thanks to it the customers get relevant offers and content. The constant algorithm optimization by the means of AI and ML helps to generate higher conversions and increase the average bill.
The cloud Retail API is a suite of solutions which helps to implement personalised search and recommendations, based on machine learning models, across the website and mobile applications.
Migration to PostgreSQL
The company has moved from MySQL to PostgreSQL database. It helped to reduce the budget and also gave some functional advantages. The Postgres database allows multiple readers and writers to interact concurrently with the data. This database is better for more complicated data structures, storing much more information. Also, Postgres is able to use many data types and work with a lot of complicated queries. It is really important for the client s business considering the need to store and process the information about the orders, payments, warehouse, shipments, and much more.
Now the Platform functions in 36 cities across 9 countries: Kuwait, Saudi Arabia, Oman, Qatar, Bahrain, UAE, Jordan, Egypt, and the UK. The system of cooperation with the suppliers, as well as organisation of order management and delivery is finely tailored to the needs and peculiarities of the business in each country.
The microservice architecture ensured the possibility to update services and develop new features faster. Migration from MySQL to PostgreSQL allowed for reducing the budget and achieving an efficiency boost. API integration allowed for the speed increase in the realisation of new payment methods and integration with third-party services.
June 2022 — current time