!!! abstract “Abstract” This chapter covers the work done to understand the problem to solve and the context involved, in order to define the requirements for the solution. (3 min read)
StarvApp is an application intended to provide suitable recipes for what the user has in the fridge. Therefore, the application should be able to select the best recipes that match with the ingredients that the user has, as well as the cooking habits collected from the usage of the application.
The solution described in this playbook is the service responsible for processing the user input (ingredients) and the available information on the App to recommend a top of recipes.
At the moment of starting this solution, the StarvApp already has an architecture implemented with an application interacting with backend services, so the agreed scope for this work was to create a new service that helps the existing backend to solve the recipes recommendations.
In addition, a database of recipes and ingredients was implemented and checked to ensure the available fields are enough to implement a recommendations schema. No data about users behavior was available, so the scope for the recommendations was focused on matching recipes and ingredients information.
!!! info Data source of recipes was changed during the project due to quality issued found. See Chapter 3 for more details.
The stakeholders involved in this development are mainly the Product Owner of the application and the teams that develop the other services:
Finally, the application will be in Spanish language to allow a deployment in Argentina. Therefore, the text information to process will be in that language.
Based on the given context of the StarvApp development, we could state that the need was to have a service that could be called by the backend to do the task of matching a top of recipes.
In order to understand the expected matching of recipes to have in this service, a poll was conducted with the team. The results can be found in this Confluence page, where we can summarize the following insights:
!!! tip Ensure this poll is filled by stakeholders from different perspectives, even outside the project’s team if possible, to ensure there are opinions biased by the project flow.
Based on the understanding detailed, we defined the following required aspects on the solution to develop: