Skip to content

A software application aimed at nutritionists to elaborate meal plans

Notifications You must be signed in to change notification settings

b-tapia-morales/NutriFoods

Repository files navigation

NutriFoods

Overview

NutriFoods is a software application aimed at nutritionists with the purpose of expediting the elaboration of meal plans for their patients. It was developed as a thesis to obtain the degree of Computer Engineer at Universidad de La Serena. This code repository accounts for the backend of the application, developed mostly by me. The frontend application was developed by Ariel Pinto Flores. Another project, named DataFoods, was developed as its own thesis by Eduardo Palma Pizarro with the aim of supplying more food ingredients and recipes to help create more diverse meal plans. Please do check them out!

Project Structure

  • API: Contains the endpoints that interact directly with API consumers.
  • Domain: Contains the database initialization scripts, and the POCO entities generated by EF Core.
  • NutrientRetrieval: Retrieves the nutritional information of the food ingredients used by recipes.
  • RecipeInsertion: Populates the database with the food ingredients and recipes used to generate meal plans.

Value proposition

NutriFoods offers many features aimed at helping nutritionists during patient consultations, such as recording the patient's nutritional history and anthropometric measurements. However, the project's main selling point lies in the creation of meal plans. This involves using Genetic Algorithms to identify solutions that closely align with the optimal nutritional requirements of the patient, specifically in terms of energy and nutrient intake. The generated solutions can be produced in less than a second and achieve an error margin as low as 2%, which significantly surpasses the standard 10% margin commonly accepted by professionals. These capabilities align with the project's goal of substantially accelerating the generation of meal plans while also optimally adapting to the patient's needs.