This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Customer
Merways company is actively involved in the development of digital green transformation services. It supplies food service with sustainable packaging made from renewable or recycled materials to meet its sustainability goals. Merways also offsets all CO2 emissions from its products and business operations. The company is building digital web and mobile platforms to make it more convenient for its customers.
Challenge
The project aimed to create a reusable application service, allowing customers to rent reusable containers without being tied to a subscription-based model. The application operates under two modules.
In the first module, the restaurant entrepreneur can register, organize dishes, manage employees, and rent boxes. In the second module, a mobile application allows customers to use these containers when ordering food through food delivery services, such as Lieferando, Wolt, or Uber Eats (German law requires that restaurants offer reusable and recyclable food containers (boxes) that need to be returned to restaurants).
Solution
We began our cooperation by analyzing the customer’s requirements and the backlog of previous tasks. During the client workshop, we prioritized the project’s essential tasks and functionalities. This meeting provided the client with information about the scale of the work and allowed the client to choose the functionality that had to be created by January 1, 2023.
Based on this workshop, we selected only one task to focus on: the generation of one-time tokens. This means that once a user opts in, the mobile application will generate and uniquely identify a one-time use token for the user, allowing the restaurant to process the order. Once a client uses a token, the app invalidates it. When the customer wants to rent something again, the app will generate a new token for the user. We tested and implemented the above functionality within three weeks.
We used Spring Boot and Kotlin to build the backend. On the frontend side, we used Vue.js in the mobile app Flutter.
The architecture consisted of a system of ten microservices. One microservice, in particular, played a large role, as it was responsible for business logic, such as billing or executing tasks in a cyclic loop.
One challenge we overcame was exporting the Flutter app to the iOS version due to a previous lack of code updates. As a result, it did not achieve the acceptable level of 80% coverage. After we upgraded the versions of the libraries and mobile dependencies and extended the running system, we successfully carried out a complete CI/CD implementation.
Result
The project was successful due to the team’s flexible use of technology, commitment, open communication, and solid understanding of the client’s situation and business needs. Thanks to the cooperation of VM’s engineering team, the client was satisfied with the timely completion of the project.