doi: 10.56294/ai2024136
ORIGINAL
Mobile app for planning and tracking healthy eating habits with artificial intelligence and augmented reality
Aplicación móvil de planificación y seguimiento de hábitos alimenticios saludables con inteligencia artificial y realidad aumentada
María Julieta Rabozzi Orelo1
1Universidad Siglo 21, Ingeniería en software. Córdoba, Argentina.
Citar como: Rabozzi Orelo MJ. Mobile app for planning and tracking healthy eating habits with artificial intelligence and augmented reality. EthAIca. 2024; 3:136. https://doi.org/10.56294/ai2024136
Enviado: 18-08-2023 Revisado: 06-01-2024 Aceptado: 26-05-2024 Publicado: 27-05-2024
Editor: PhD.
Rubén
González Vallejo
ABSTRACT
Staying healthy in today’s world can be a considerable challenge due to the difficulty of accessing personalized meal plans, the lack of tools for habit tracking, and the limited availability of information about the foods we consume. Although technology has advanced significantly, there is no platform that combines nutritional plans comparable to those designed by a professional nutritionist with detailed information about consumed foods and tools that facilitate evaluating the user’s progress. For this reason, a mobile application was developed to provide meal plans generated by artificial intelligence, based on the Dietary Guidelines for the Argentine Population. This application adapts to each user’s dietary preferences, personal data, and objectives, featuring functionalities such as food scanning and a section where users can track their progress. This project was developed thanks to the knowledge acquired during the Software Engineering program, encompassing stages such as identifying and analyzing the problem and designing a proposal that incorporates transformative technologies like artificial intelligence and augmented reality, reflecting the integration of technical and analytical skills from the conception of the idea to the implementation of the system.
Keywords: Dietary Planning; Artificial Intelligence; Augmented Reality; Healthy Habits; Mobile Application.
RESUMEN
Mantenerse saludable en la actualidad puede ser un desafío considerable, debido a la dificultad de acceder a planes alimenticios personalizados, falta de herramientas para seguimiento de hábitos y la limitada disponibilidad de información sobre los alimentos que consumimos. Aunque la tecnología ha avanzado significativamente, no existe una plataforma que combine planes nutricionales comparables a los diseñados por un nutricionista profesional, con información detallada sobre alimentos consumidos y herramientas que faciliten evaluar el progreso del usuario. Por ello, se desarrolló una aplicación móvil que ofrece planes alimenticios generados mediante inteligencia artificial que se fundamentan en las Guías Alimentarias para la Población Argentina. Esta se adapta a las preferencias alimenticias, datos personales y objetivos de cada usuario, contando con la funcionalidad de escanear alimentos y un apartado donde el usuario puede observar su progreso. Este proyecto fue desarrollado gracias a los conocimientos adquiridos durante la carrera de Ingeniería en Software, atravesando etapas como la identificación y análisis de la problemática, y el diseño de una propuesta que incorpora tecnologías transformadoras como la inteligencia artificial y realidad aumentada, reflejando la integración de competencias técnicas y analíticas, desde la concepción de la idea hasta la implementación del sistema.
Palabras clave: Planificación Alimentaria; Inteligencia Artificial; Realidad Aumentada; Hábitos Saludables; Aplicación Móvil.
INTRODUCCIÓN
Es común que la organización y planificación de comidas no reciba la atención necesaria. Sin embargo, la Comisión Honoraria para la Salud Cardiovascular(1) expresó que “ciertos hábitos alimentarios y algunos componentes de los alimentos y productos que consumimos aumentan el riesgo de desarrollar enfermedades como diabetes, hipertensión, enfermedades cardiovasculares, cáncer, exceso de peso, colesterol elevado, entre otros”. Ante esto, un plan alimenticio adquiere especial relevancia, ya que resulta fundamental para el cuidado de la salud. Sin embargo, no todas las personas tuvieron acceso a uno, y comprometerse a largo plazo con un plan puede ser complicado, lo que lleva a una pérdida de constancia. Además, la mayoría de las veces, las personas no contaban con suficiente información sobre lo que consumen.
Debido a esta problemática, surgió la necesidad de desarrollar una aplicación de organización de la alimentación, diseñada para seguir lineamientos de las Guías Alimentarias para la Población Argentina. Esta aplicación permite a los usuarios registrar datos como edad, medidas y objetivos, y recibir planes alimentarios adecuados. Además, cuenta con la funcionalidad de escanear alimentos para recibir información nutricional y registrar el consumo diario, para posteriormente evaluar su progreso, fomentando el compromiso de mantener buenos hábitos.
El presente trabajo se desarrolló en la Provincia de Córdoba, Argentina, y tuvo como objetivo facilitar el cuidado de los hábitos alimentarios de las personas de la región.
Antecedentes
Según cifras de la Organización Mundial de la Salud (OMS), entre 1975 y 2016 la prevalencia mundial de la obesidad se ha casi triplicado, afectando tanto a adultos como a niños y adolescentes.(2) En respuesta a esta problemática, la tecnología ha comenzado a desempeñar un papel crucial en la promoción de un estilo de vida más saludable y equilibrado.
En la actualidad, diversas aplicaciones combinan tecnología y salud para simplificar la vida de las personas. Un ejemplo de esto es El CoCo, una aplicación que permite escanear productos de supermercado, brindando información detallada para realizar compras más conscientes y saludables. De manera similar, MyFitnessPal(3) se centra en el seguimiento de la salud y el estado físico, ofreciendo un contador de calorías y registro de actividad física para sus usuarios.
Otra aplicación destacada es Fitia, que proporciona planes alimentarios personalizados basados en las necesidades y objetivos del usuario, como la pérdida de peso, el mantenimiento o el aumento de masa muscular. Fitia calcula las calorías necesarias y sugiere combinaciones de alimentos, facilitando a los usuarios el seguimiento de su dieta y objetivos nutricionales.
Estas aplicaciones demuestran cómo la tecnología puede ser una herramienta valiosa para abordar problemas de salud relacionados con la nutrición, haciendo más accesible la información y mejorando la adherencia a un plan alimentario personalizado. Sin embargo, persiste la necesidad de soluciones más integradas que combinen distintas tecnologías para ofrecer una experiencia aún más completa.
Descripción del Área Problemática
La mala alimentación y los hábitos poco saludables están estrechamente relacionados con el aumento de enfermedades crónicas no transmisibles, tales como la diabetes, la hipertensión y las cardiopatías.
La Organización Mundial de la Salud(4) expresa que: en 2022, cerca de 390 millones de adultos de 18 años o más en todo el mundo tenían un peso insuficiente y 2500 millones tenían sobrepeso (de estos, 890 millones tenían obesidad). Además, 390 millones de niños y adolescentes de 5 a 19 años tenían sobrepeso (de ellos, 160 millones tenían obesidad).
La dificultad de acceso a planes alimentarios adecuados, poco o escaso seguimiento de estos y la falta de conciencia sobre los alimentos que ingerimos contribuyen a que malos hábitos alimenticios persistan. En adición, para la gran mayoría de individuos, seguir un plan nutricional con supervisión de nutricionistas a lo largo del tiempo puede ser complicado, por problemas de tiempo o presupuesto, especialmente en poblaciones con acceso limitado a estos especialistas. Además, el sedentarismo y el consumo excesivo de alimentos ultra procesados no mejoran la situación, facilitando la aparición de enfermedades crónicas en todas las edades y estratos sociales.
Objetivo General
Desarrollar una aplicación para móvil que provea planes alimenticios saludables utilizando Inteligencia Artificial entrenada, en base a datos del usuario como medidas, objetivos y preferencias personales, con la funcionalidad de escanear alimentos utilizando Realidad Aumentada para promover una alimentación consiente y la posibilidad de observar un progreso semanal luego de realizar seguimientos diarios donde el usuario pueda marcar su cumplimiento.
MÉTODO
El desarrollo del proyecto se realiza bajo la metodología ágil Scrum para facilitar su organización con Sprint de 2 semanas, y el Software Trello. Según Redacción APD “En este método de trabajo lo que se pretende es alcanzar el mejor resultado de un proyecto determinado.”
Herramientas Utilizadas
El desarrollo de la aplicación móvil se llevó a cabo utilizando SwiftUI como framework principal, permitiendo la construcción de interfaces de usuario modernas y adaptativas de forma declarativa, lo que simplifica el proceso de desarrollo y mejora la experiencia del usuario.(5) Para la organización de la lógica de la aplicación, se empleó la arquitectura MVVM (Model-View-ViewModel), que facilita la separación entre la interfaz de usuario y la lógica de negocio, asegurando un código más modular y mantenible.(6)
En el backend, se utilizó Node.js, una plataforma de JavaScript que ofrece un entorno eficiente para la creación de servidores. Gracias a su capacidad para manejar múltiples solicitudes de forma simultánea, se logró una integración fluida con los servicios de inteligencia artificial y realidad aumentada, aspectos esenciales del proyecto.(7) Además, la base de datos MongoDB(10) fue elegida por su naturaleza NoSQL, permitiendo almacenar grandes volúmenes de datos en un formato de documento similar a JSON. Esto facilita la gestión de los datos de usuarios, planes alimentarios y registros de consumo, ofreciendo una estructura flexible y escalable.(8)
El uso de SwiftUI junto a la arquitectura MVVM permitió que la interfaz se actualizara automáticamente con los datos gestionados desde el backend, proporcionando una experiencia fluida y eficiente al usuario.(9) La comunicación entre la aplicación móvil y el servidor desarrollado en Node.js aseguró la actualización constante de los datos, mientras que MongoDB(10) se encargó de almacenar toda la información necesaria de forma rápida y accesible.
Recolección de datos
La recolección de datos para este proyecto se lleva a cabo mediante dos técnicas:
1. Observación: se realizaron observaciones a familiares, amigos y conocidos para identificar cómo gestionan sus hábitos alimentarios, las dificultades que enfrentan, y cómo interactúan con las herramientas tecnológicas para la planificación de su dieta.
2. Revisión de documentación: se analizaron las Guías Alimentarias para la Población Argentina, con el fin de fundamentar las características de la aplicación y asegurar que las recomendaciones estén alineadas con estándares nutricionales oficiales.
Planificación de Actividades
A continuación, se muestra un diagrama de Gantt, en el cual se visualiza cómo se organizaron y distribuyeron los tiempos del proyecto.
Figura 1. Diagrama de Gantt
Relevamiento
Relevamiento Estructural
Por tratarse de un proyecto dirigido a personas que buscan mejorar sus hábitos alimenticios, no hay localización geográfica específica para el mismo, ya que depende del lugar donde interactúan los actores principales: pacientes y nutricionistas. Estos actores suelen encontrarse en entornos como consultorios privados o clínicos o entornos virtuales. Se pudo relevar que, además la comunicación entre paciente y nutricionista presencial, también se utilizan herramientas como plataformas de videollamadas, mensajería instantánea para resolver dudas o Correos electrónicos para compartir planes alimenticios o recetas.
Relevamiento Funcional
Una vez analizados los datos recolectados a través de observación, se concluye que actualmente no se utiliza una estructura formal para los procesos funcionales relacionados con la mejora de los hábitos alimenticios. Por ello, este relevamiento se basa en las personas que enfrentan dificultades para mejorar su alimentación y en los agentes que los rodean, tales como:
· Nutricionistas: profesionales que proporcionan planes alimenticios personalizados y monitorean el progreso de los pacientes generalmente en consultas mensuales.
· Pacientes: personas que buscan orientación nutricional, pero que, a menudo, enfrentan barreras para mantener la constancia en los planes recomendados.
A continuación, se detallan los procesos relevados:
Proceso: Visita al Nutricionista
Roles Involucrados: Nutricionista, Paciente. Pasos:
1. Búsqueda y programación de la cita: el paciente busca un nutricionista y agenda una consulta (presencial o remota).
2. Consulta inicial: el nutricionista realiza una entrevista para recopilar datos como peso, altura, índice de masa y medidas corporales.
3. Diseño del plan alimenticio: el nutricionista elabora un plan personalizado considerando las necesidades calóricas, preferencias alimenticias y metas del paciente.
4. Seguimiento: el paciente implementa el plan y asiste a consultas periódicas (generalmente mensuales) para evaluar el progreso.
5. El nutricionista ajusta el plan según los resultados y dificultades reportadas.
Proceso: Implementación del Plan Alimenticio
Roles Involucrados: Paciente, Nutricionista (indirectamente). Pasos:
1. Revisión del plan alimenticio: el paciente estudia las indicaciones proporcionadas por el nutricionista.
2. El paciente realiza las compras de los alimentos necesarios.
3. Comunicación de dificultades: si el paciente encuentra barreras para seguir el plan, comunica estas dificultades al nutricionista en la consulta de seguimiento.
Proceso de Negocios
A continuación, se muestra cómo se llevarán a cabo los procesos en el sistema.
Figura 2. Flujograma del proceso de atención nutricionista
Diagnóstico y Propuesta
Diagnóstico
Tabla 1. Problemas y causas del diagnóstico |
|
Visita al nutricionista |
|
Problemas |
Causas |
La búsqueda y programación de la consulta puede ser un proceso lento, lo que desmotiva a los pacientes. |
La falta de información centralizada sobre disponibilidad de nutricionistas dificulta la elección y la programación eficiente. |
El diseño del plan alimenticio puede no reflejar completamente las necesidades del paciente. |
El tiempo de consulta puede ser limitado, lo que lleva a una recolección incompleta de información sobre hábitos y preferencias del paciente. |
Las consultas de seguimiento suelen perderse o atrasarse. |
Falta de recordatorios automatizados y herramientas de monitoreo para los pacientes. |
Tabla 2. Problemas y causas del diagnóstico |
|
Implementación del Plan Alimenticio |
|
Problemas |
Causas |
El paciente puede enfrentar dificultades al implementar el plan alimenticio debido a barreras logísticas o falta de motivación. |
Falta de herramientas prácticas como listas de compras automatizadas o sugerencias específicas. |
Las dificultades del paciente no siempre se comunican al nutricionista en tiempo real. |
Los canales de comunicación no están estandarizados ni optimizados para resolver problemas rápidamente. |
Propuesta
Se desarrolló una aplicación móvil integral de planificación y seguimiento de hábitos alimenticios que abordó las problemáticas identificadas, con el objetivo de proporcionar a los usuarios planes alimentarios personalizados, facilitar el acceso a información nutricional clara mediante escaneo de alimentos en tiempo real con realidad aumentada, y garantizar un seguimiento continuo de sus hábitos alimenticios.
Las características clave del sistema incluyeron:
1. Automatización de planes alimentarios personalizados: se implementó un algoritmo basado en inteligencia artificial que generó planes alimentarios adaptados a los datos personales y objetivos de cada usuario. Estos planes se ajustaban dinámicamente según el progreso registrado por el usuario.
2. Escaneo de alimentos con RA: la aplicación integró tecnología de realidad aumentada, permitiendo a los usuarios escanear productos alimenticios y recibir información nutricional detallada en tiempo real. Esta información se presentaba de manera comprensible, con recomendaciones claras sobre su consumo.
3. Seguimiento continuo de hábitos alimenticios: la aplicación incorporó un sistema de registro de alimentos consumidos, para fomentar la constancia en el seguimiento del plan.
Esta solución digital resolvió los problemas de accesibilidad, personalización y constancia en los hábitos alimenticios, brindando una herramienta intuitiva, práctica y tecnológicamente avanzada para promover una alimentación saludable y sostenible a lo largo del tiempo.
Objetivos, Límites y Alcances del Prototipo
Objetivo
Desarrollar un prototipo de sistema que permita planificar, seguir y personalizar hábitos alimenticios saludables, a través de la integración de inteligencia artificial y realidad aumentada, proporcionando planes alimentarios personalizados y facilitando el escaneo de alimentos para obtener información nutricional en tiempo real.
Límites
Desde el momento en que el usuario ingresa sus datos personales y establece sus objetivos alimenticios, hasta que se genera un plan alimentario personalizado y se realiza el seguimiento de su progreso a través del registro de alimentos consumidos y el escaneo de productos.
Alcances
Dentro de estos límites, el prototipo cubrirá los siguientes procesos de negocio:
· Ingreso de datos personales y objetivos alimenticios.
· Generación de planes alimentarios personalizados.
· Escaneo de alimentos con realidad aumentada para obtener información nutricional.
· Registro diario de los alimentos consumidos.
· Ajuste dinámico del plan alimenticio basado en el progreso del usuario.
RESULTADOS
Descripción del Sistema
A continuación, se detalla la descripción del sistema desarrollado para la planificación y seguimiento de hábitos alimenticios mediante una aplicación móvil. Se presenta el Product Backlog, el cual contiene las historias de usuario necesarias para el desarrollo del sistema, cada una de ellas con su prioridad y estimación de esfuerzo (Story Points).
Product Backlog
Tabla 3. Product Backlog |
||||
ID |
Historia de Usuario (HU) |
Prioridad |
Puntos de historia |
Dependencia |
HU-001 |
Registro del usuario a la aplicación. |
Alta |
13 |
- |
HU-002 |
Ingreso del usuario. |
Alta |
3 |
HU-001 |
HU-003 |
Recuperación de contraseña de usuario. |
Media |
8 |
HU-001, HU-002 |
HU-004 |
Visualización de información del usuario. |
Baja |
3 |
HU-002 |
HU-005 |
Edición de información del usuario. |
Baja |
3 |
HU-004 |
HU-006 |
Generación de planes alimentarios personalizados. |
Alta |
13 |
HU-002 |
HU-007 |
Escaneo de alimentos con realidad aumentada. |
Alta |
21 |
HU-002, HU-006 |
HU-008 |
Registro diario de alimentos consumidos. |
Media |
8 |
HU-002, HU-006 |
HU-009 |
Gráficos de progreso de consumo diario. |
Media |
5 |
HU-008 |
HU-010 |
Notificaciones de recordatorio para registrar consumo. |
Baja |
3 |
HU-008 |
HU-011 |
Reportes semanales de progreso del plan alimenticio. |
Baja |
5 |
HU-009 |
HU-012 |
Configuración de notificaciones personalizadas. |
Baja |
3 |
HU-010 |
HU-013 |
Seguridad y encriptación de datos sensibles. |
Alta |
8 |
HU-001, HU-002 |
HU-014 |
Sincronización de datos en la nube. |
Media |
13 |
HU-001, HU-002, HU-013 |
HU-015 |
Onboarding y tutorial para nuevos usuarios. |
Media |
5 |
HU-001 |
Tabla 4. Historia de Usuario 1 |
|
ID |
HU-002 |
Nombre |
Ingreso del usuario |
Descripción |
Como usuario registrado, quiero ingresar a la aplicación para acceder a mi cuenta y ver mis planes alimentarios. |
Criterios de aceptación |
Dado que soy un usuario registrado, cuando ingreso mis credenciales de acceso (correo y contraseña) correctamente, entonces debería poder acceder a mi cuenta y ver mi información personal. Dado que ingreso una contraseña incorrecta, cuando intento acceder a mi cuenta, entonces el sistema mostrará un mensaje de error indicando que las credenciales no son válidas. Dado que olvido mi contraseña, cuando selecciono la opción de recuperación, entonces debería recibir un correo para restablecerla. |
Prioridad |
Alta |
Puntos de historia estimados |
3 |
Tabla 5. Historia de Usuario 2 |
|
ID |
HU-003 |
Nombre |
Recuperación de contraseña |
Descripción |
Como usuario, quiero poder recuperar mi contraseña en caso de haberla olvidado para acceder nuevamente a la aplicación. |
Criterios de aceptación |
Dado que soy un usuario registrado, cuando selecciono la opción de Olvidé mi contraseña, entonces debería recibir un correo para restablecer mi contraseña. Dado que ingreso un correo que no está registrado, cuando intento recuperar mi contraseña, entonces el sistema mostrará un mensaje indicando que la cuenta no existe. Dado que sigo el enlace del correo, cuando restablezco mi contraseña, entonces debería poder iniciar sesión con la nueva contraseña. |
Prioridad |
Media |
Puntos de historia estimados |
8 |
Tabla 6. Historia de Usuario 3 |
|
ID |
HU-004 |
Nombre |
Visualización de información del usuario |
Descripción |
Como usuario, quiero visualizar mi información personal para verificar que mis datos están correctos y actualizados. |
Criterios de aceptación |
Dado que estoy logueado en la aplicación, cuando selecciono la opción de "Mi Perfil", entonces debería poder ver mis datos personales y planes alimentarios actuales. Dado que mis datos han sido actualizados recientemente, cuando accedo a "Mi Perfil", entonces debería poder visualizar la información actualizada. |
Prioridad |
Baja |
Puntos de historia estimados |
3 |
Tabla 7. Historia de Usuario 4 |
|
ID |
HU-005 |
Nombre |
Edición de información del usuario |
Descripción |
Como usuario, quiero poder editar mi información personal para mantener mis datos actualizados. |
Criterios de aceptación |
Dado que estoy viendo mi perfil, cuando selecciono la opción de editar mi información, entonces debería poder modificar mis datos personales y guardar los cambios. Dado que he modificado algún campo de mi información personal, cuando guardo los cambios, entonces debería recibir una confirmación de que los datos fueron actualizados correctamente. |
Prioridad |
Baja |
Puntos de historia estimados |
3 |
Tabla 8. Historia de Usuario 5 |
|
ID |
HU-006 |
Nombre |
Creación de plan alimenticio personalizado |
Descripción |
Como usuario, quiero crear un plan alimenticio personalizado basado en mis datos personales para seguir una dieta adecuada a mis necesidades. |
Criterios de aceptación |
Dado que estoy logueado y he registrado mis datos personales, cuando selecciono la opción de “Crear Plan Alimenticio”, entonces debería poder recibir un plan alimenticio personalizado basado en mi perfil. Dado que he actualizado mis datos personales, cuando solicito un nuevo plan, entonces el sistema debería generar un plan alimenticio actualizado según la nueva información. |
Prioridad |
Alta |
Puntos de historia estimados |
13 |
Tabla 9. Historia de Usuario 6 |
|
ID |
HU-007 |
Nombre |
Escaneo de alimentos |
Descripción |
Como usuario, quiero escanear un alimento utilizando la cámara de mi dispositivo para obtener información nutricional detallada del producto. |
Criterios de aceptación |
Dado que estoy en la vista de escaneo, cuando escaneo un alimento con la cámara, entonces debería recibir la información nutricional completa del producto escaneado. Dado un producto con un código de barras no reconocido, cuando intento escanearlo, entonces el sistema debería mostrar un mensaje de "Producto no encontrado". |
Prioridad |
Alta |
Puntos de historia estimados |
21 |
Tabla 10. Historia de Usuario 7 |
|
ID |
HU-008 |
Nombre |
Seguimiento del progreso alimenticio |
Descripción |
Como usuario, quiero registrar mi ingesta diaria para hacer un seguimiento de mi progreso alimenticio y mantenerme en línea con mi plan. |
Criterios de aceptación |
Dado que estoy siguiendo un plan alimenticio, cuando ingreso los alimentos que consumo diariamente, entonces debería poder visualizar mi progreso en base a las metas establecidas. Dado que he registrado mis alimentos de forma incompleta, cuando intento guardar mi progreso, entonces el sistema debería mostrar un mensaje solicitando completar la información. |
Prioridad |
Media |
Puntos de historia estimados |
8 |
Tabla 11. Historia de Usuario 8 |
|
ID |
HU-009 |
Nombre |
Generación de reporte de hábitos alimenticios |
Descripción |
Como usuario, quiero generar un reporte de mis hábitos alimenticios para visualizar mi progreso y realizar ajustes si es necesario. |
Criterios de aceptación |
Dado que he registrado mi ingesta diaria, cuando selecciono la opción de generar un reporte, entonces debería recibir un informe detallado de mi consumo en comparación con mi plan alimenticio. Dado que no he registrado ingesta suficiente, cuando intento generar un reporte, entonces el sistema debería notificar que la información registrada no es suficiente para un análisis detallado. |
Prioridad |
Media |
Puntos de historia estimados |
5 |
Tabla 12. Historia de Usuario 9 |
|
ID |
HU-010 |
Nombre |
Notificaciones diarias de recordatorio para registrar consumo |
Descripción |
Como usuario, quiero recibir notificaciones diarias para registrar mi consumo, de modo que no me olvide de llevar un seguimiento constante de mi alimentación. |
Criterios de aceptación |
Dado que configuré las notificaciones en la aplicación, cuando es la hora de la notificación, entonces recibiré una alerta para registrar mi consumo del día. Dado que he desactivado las notificaciones, cuando llegue la hora de una comida, entonces no debería recibir ninguna notificación de recordatorio. |
Prioridad |
Baja |
Puntos de historia estimados |
3 |
Tabla 13. Historia de Usuario 10 |
|
ID |
HU-011 |
Nombre |
Reportes semanales de progreso del plan alimenticio |
Descripción |
Como usuario, quiero recibir reportes semanales de mi progreso en el plan alimenticio para saber si estoy alcanzando mis objetivos nutricionales. |
Criterios de aceptación |
Dado que he registrado mis alimentos diariamente, cuando termina la semana, entonces recibiré un reporte visual de mi progreso, comparando lo consumido con el plan alimenticio. Dado que no he registrado mi consumo de forma completa, cuando intento visualizar el reporte, entonces el sistema debería mostrar un mensaje indicando que la información es insuficiente para un análisis detallado. |
Prioridad |
Baja |
Puntos de historia estimados |
5 |
Tabla 14. Historia de Usuario 11 |
|
ID |
HU-012 |
Nombre |
Configuración de notificaciones personalizadas |
Descripción |
Como usuario, quiero personalizar las notificaciones para que se ajusten a mis necesidades y horarios, ayudándome a seguir mi plan alimenticio de manera flexible. |
Criterios de aceptación |
Dado que estoy en la pantalla de configuración de notificaciones, cuando personalizo mis preferencias de notificaciones, entonces recibiré recordatorios ajustados a los horarios y frecuencias que he definido. Dado que no he configurado preferencias personalizadas, cuando la aplicación envíe notificaciones, entonces se utilizarán los horarios predeterminados del sistema. |
Prioridad |
Baja |
Puntos de historia estimados |
3 |
Tabla 15. Historia de Usuario 12 |
|
ID |
HU-013 |
Nombre |
Seguridad y encriptación de datos sensibles |
Descripción |
Como usuario, quiero que mis datos sensibles, como información personal y de salud, estén encriptados para garantizar la privacidad y seguridad. |
Criterios de aceptación |
Dado que ingresé mis datos personales en la aplicación, cuando los datos se envíen al servidor o se almacenen localmente, entonces estos estarán encriptados utilizando estándares de seguridad adecuados. Dado que los datos están encriptados, cuando un tercero intente acceder a ellos sin autorización, entonces el sistema impedirá el acceso y protegerá la integridad de la información. |
Prioridad |
Alta |
Puntos de historia estimados |
8 |
Tabla 16. Historia de Usuario 13 |
|
ID |
HU-014 |
Nombre |
Sincronización de datos en la nube |
Descripción |
Como usuario, quiero que mis datos se sincronicen automáticamente en la nube para que pueda acceder a ellos desde cualquier dispositivo. |
Criterios de aceptación |
Dado que ingresé o actualicé mi información en la aplicación, cuando se sincroniza con la nube, entonces podré acceder a mis datos actualizados desde cualquier dispositivo registrado. Dado que la sincronización falla por problemas de conexión, cuando la aplicación detecte que hay internet disponible nuevamente, entonces intentará sincronizar automáticamente los datos. |
Prioridad |
Media |
Puntos de historia estimados |
13 |
Tabla 17. Historia de Usuario 14 |
|
ID |
HU-015 |
Nombre |
Onboarding y tutorial para nuevos usuarios |
Descripción |
Como nuevo usuario, quiero un tutorial interactivo que me enseñe a usar la aplicación para entender sus principales funciones desde el inicio. |
Criterios de aceptación |
Dado que es la primera vez que accedo a la aplicación, cuando paso por el proceso de onboarding, entonces se me mostrará un tutorial que me explique cómo registrar alimentos, generar planes, y usar otras funciones clave de la app. Dado que he completado el tutorial, cuando vuelva a acceder a la aplicación, entonces el sistema no volverá a mostrar el tutorial a menos que lo solicite desde la configuración. |
Prioridad |
Media |
Puntos de historia estimados |
5 |
Sprint Backlog
Tabla 18. Historia de Usuario 15 |
||||||
Sprint |
Historia de usuario |
ID |
Tareas |
Prioridad |
Estimado |
Estado |
1 |
Registro del usuario a la aplicación |
HU - 001 |
Diseñar diagramas correspondientes al registro Codificar el módulo de registro. Diseñar la interfaz gráfica del módulo de registro Implementar e integrar el módulo de registro al sistema. Realizar pruebas unitarias del módulo de registro |
Alta |
3 días |
Hecho |
|
Ingreso del usuario |
HU - 002 |
Diseñar diagramas correspondientes al ingreso de usuario |
Alta |
3 días |
Hecho |
|
|
|
Codificar el módulo de ingreso de usuario Diseñar la interfaz gráfica del módulo de ingreso Implementar e integrar el módulo de ingreso al sistema |
|
|
|
|
Recuperación de contraseña |
HU - 003 |
Diseñar diagramas correspondientes a la recuperación de contraseña Codificar el módulo de recuperación de contraseña 13. Diseñar la interfaz gráfica del módulo de recuperación de contraseña. Implementar e integrar el módulo de recuperación al sistema. Realizar pruebas unitarias del módulo de recuperación |
Media |
3 días |
Hecho |
|
Visualizaci ón de información del usuario |
HU - 004 |
Diseñar diagramas correspondientes a la visualización de información del usuario Codificar el módulo de visualización de información Diseñar la interfaz gráfica del módulo de visualización Implementar e integrar el módulo de visualización al sistema Realizar pruebas unitarias del módulo de visualización |
Media |
3 días |
Hecho |
|
Edición de información del usuario |
HU - 005 |
Diseñar diagramas correspondientes a la edición de información del usuario. Codificar el módulo de edición de información Diseñar la interfaz gráfica del módulo de edición de información. Implementar e integrar el módulo de edición al sistema. Realizar pruebas unitarias del módulo de edición |
Baja |
2 días |
Hecho |
2 |
Creación de plan alimenticio personalizado |
HU - 006 |
Diseñar diagramas correspondientes a la generación de planes alimentarios personalizados Codificar el módulo de generación de planes alimentarios personalizados Diseñar la interfaz gráfica del módulo de planes personalizados Implementar e integrar el módulo de planes al sistema Realizar pruebas unitarias del módulo de generación de planes alimentarios personalizados |
Alta |
3 días |
Hecho |
|
Escaneo de alimentos |
HU - 007 |
Diseñar diagramas correspondientes al escaneo de alimentos con realidad aumentada. Codificar el módulo de escaneo de alimentos con realidad aumentada Diseñar la interfaz gráfica del escaneo de alimentos Implementar e integrar el módulo de escaneo al sistema. Realizar pruebas unitarias del módulo de escaneo de alimentos |
Alta |
3 días |
Hecho |
|
Seguimiento del progreso alimenticio |
HU - 008 |
Diseñar diagramas correspondientes al registro diario de alimentos Codificar el módulo de registro diario de alimentos consumidos Diseñar la interfaz gráfica del registro diario de alimentos Implementar e integrar el módulo de registro diario al sistema Realizar pruebas unitarias del módulo de registro diario de alimentos |
Media |
3 días |
Hecho |
|
Generación de reporte de hábitos alimenticio s |
HU - 009 |
Diseñar diagramas correspondientes a los gráficos de progreso de consumo. Codificar el módulo de gráficos de progreso de consumo diario. Diseñar la interfaz gráfica de los gráficos de progreso Implementar e integrar los gráficos de progreso en el sistema. Realizar pruebas unitarias de los gráficos de progreso |
Media |
3 días |
Hecho |
|
Notificaciones diarias de recordatorio para registrar consumo |
HU - 010 |
Diseñar diagramas correspondientes a las notificaciones diarias de recordatorio. Codificar el módulo de notificaciones diarias de recordatorio Diseñar la interfaz gráfica de las notificaciones diarias Implementar e integrar las notificaciones diarias al sistema Realizar pruebas unitarias del módulo de notificaciones diarias |
Baja |
2 días |
Hecho |
3 |
Reportes semanales de progreso del plan alimenticio |
HU - 011 |
Diseñar diagramas correspondientes a los reportes semanales de progreso. Codificar el módulo de reportes semanales de progreso. Diseñar la interfaz gráfica de los reportes semanales Implementar e integrar los reportes semanales al sistema. Realizar pruebas unitarias del módulo de reportes semanales |
Baja |
3 días |
Hecho |
|
Configuración de notificaciones personaliza das |
HU - 012 |
Diseñar diagramas correspondientes a la configuración de notificaciones personalizadas Codificar el módulo de configuración de notificaciones personalizadas Diseñar la interfaz gráfica de la configuración de notificaciones Implementar e integrar la configuración de notificaciones personalizadas. Realizar pruebas unitarias del módulo de notificaciones personalizadas |
Baja |
3 día |
Hecho |
|
Seguridad y encriptación de datos sensibles |
HU - 013 |
Diseñar diagramas correspondientes a la seguridad y encriptación de datos Codificar el módulo de encriptación de datos sensibles Implementar el sistema de seguridad y encriptación en el backend Realizar pruebas de seguridad y vulnerabilidades en los datos Documentar el sistema de seguridad y encriptación para los usuarios y desarrolladores |
Alta |
3 días |
Hecho |
|
Sincronización de datos en la nube |
HU - 014 |
Diseñar diagramas correspondientes a la sincronización de datos en la nube Codificar el módulo de sincronización de datos en la nube Implementar la funcionalidad de sincronización en el backend. Realizar pruebas de sincronización y manejo de datos en la nube Documentar la implementación de sincronización para su uso y mantenimiento |
Alta |
3 días |
Hecho |
|
Onboarding y tutorial para nuevos usuarios |
HU - 015 |
Diseñar diagramas correspondientes al proceso de onboarding de nuevos usuarios. Codificar el módulo de onboarding y tutoriales para nuevos usuarios. Diseñar la interfaz gráfica del proceso de onboarding y tutorial. Implementar e integrar el onboarding en el sistema Realizar pruebas de usabilidad del onboarding y tutorial |
Media |
2 días |
Hecho |
Estructura de datos
A continuación, se presenta la estructura de datos del sistema, la cual incluye los diagramas necesarios para representar la organización y gestión de los datos utilizados en el proyecto. Estos son fundamentales para entender cómo se estructura y almacena la información, garantizando que las decisiones de diseño sean consistentes con las necesidades del proyecto.
Diagrama de clases
Dado que el sistema fue desarrollado en Swift, un lenguaje de programación orientado a objetos, se empleó un diagrama de clases para mostrar las características de los objetos y sus relaciones dentro del sistema. Este diagrama permite visualizar cómo se estructuran y relacionan las entidades en el contexto del desarrollo de la aplicación.
Figura 3. Diagrama de Clases
Diagrama de Base de Datos NoSQL
Debido a que se utilizó MongoDB(10) como sistema de gestión de base de datos NoSQL, se incluye un diagrama de base de datos NoSQL. Este diagrama representa la organización de los datos en colecciones y documentos, reflejando la flexibilidad y escalabilidad propias de este tipo de sistemas de almacenamiento no relacional.
Figura 4. Diagrama NoSQL
Prototipos de interfaces de pantallas
El prototipo desarrollado para la aplicación muestra una serie de pantallas que guían al usuario a través de las funciones principales y el flujo de navegación de la herramienta. La experiencia de usuario comienza con una pantalla de bienvenida, donde se opta entre iniciar sesión o crear cuenta.
En el caso de crear cuenta, el usuario atraviesa un onboarding donde se realiza el ingreso de datos, solicitando información básica como edad, género, peso y objetivos alimentarios. Estos datos son fundamentales para personalizar los planes que la aplicación generará, adaptándolos a las necesidades de cada individuo. Luego de estos pasos, se muestra la pantalla de inicio con el plan generado.
En el caso de iniciar sesión, se dirige al usuario directamente a la pantalla de inicio. En esta se visualiza su plan alimenticio además de contar con un Tab Bar para navegar entre las demás pantallas para escanear alimentos, ver perfil y ver progreso.
La función de escanear alimentos está diseñada para que los usuarios puedan obtener información nutricional de los productos que consumen. Desde la pantalla de escaneo, se activa la cámara del dispositivo.
En la sección mi perfil, el usuario puede ver y editar sus datos ingresados en el onboarding.
En la sesión de ver progreso el usuario puede visualizar su avance. A través de gráficos claros y simples, lo que ayuda al usuario a monitorear su progreso y realizar los ajustes necesarios.
Figura 5. Registro e inicio de sesión
Figura 6. Onboarding parte 1
Figura 7. Onboarding parte 2
Figura 8. Inicio
Figura 9. Escaneo de alimentos
Figura 10. Mi perfil
Figura 11. Mi progreso
Diagrama de Arquitectura
En el diagrama de arquitectura se muestra el funcionamiento general de la aplicación móvil de planificación y seguimiento de hábitos alimenticios. La aplicación se descarga desde la AppStore a los dispositivos móviles de los usuarios, permitiéndoles acceder a sus funcionalidades principales, como el registro de datos personales y la creación de planes alimenticios personalizados.
Desde el dispositivo móvil, los usuarios interactúan con la aplicación para enviar solicitudes de datos o actualizaciones, como la consulta de información nutricional mediante el escaneo de alimentos. Estas solicitudes se envían a un servidor, que actúa como intermediario entre la aplicación y la base de datos. El servidor procesa las solicitudes y, si es necesario, realiza consultas a la base de datos, que almacena la información del usuario, planes alimentarios, y registros de consumo.
La comunicación entre el dispositivo móvil, el servidor y la base de datos se realiza a través de internet, asegurando que los datos se mantengan sincronizados y accesibles para los usuarios desde cualquier lugar. Una vez que el servidor procesa la información o realiza una actualización, envía la respuesta de vuelta al dispositivo móvil, permitiendo que el usuario visualice los resultados en tiempo real.
Figura 12. Diagrama de Arquitectura
Seguridad
A continuación, se detallan dos aspectos fundamentales relacionados con la seguridad del sistema: el control de acceso y la política de respaldo de información.
Acceso a la Aplicación
En la siguiente tabla se detallan las políticas de seguridad implementadas para el acceso a la aplicación móvil de planificación alimentaria. Estas políticas tienen como objetivo proteger la información personal de los usuarios y garantizar un acceso seguro a la aplicación.
Tabla 19. Tabla de Políticas de acceso a la aplicación |
|
Política |
Descripción |
1. Usuarios únicos |
Cada usuario se identifica de manera única a través de su correo electrónico, que debe ser verificado al momento del registro para evitar duplicados en la base de datos. |
2. Requisitos de la contraseña |
Las contraseñas deben contener al menos 8 caracteres, incluyendo una letra mayúscula, una letra minúscula, un número y un carácter especial para garantizar una mayor seguridad. |
3. Doble factor de autenticación |
Medida adicional de seguridad. Requiere que los usuarios ingresen un código temporal enviado a su correo electrónico o número telefónico registrado, además de su contraseña, al momento de iniciar sesión. |
4. Bloqueo temporal tras intentos fallidos |
Después de 5 intentos fallidos de inicio de sesión, la cuenta se bloquea temporalmente por 15 minutos para protegerla de accesos no autorizados. |
4. Encriptación de contraseñas |
Las contraseñas se almacenan de manera segura utilizando la función de encriptación bcrypt, lo que protege los datos en caso de acceso no autorizado a la base de datos. |
5. Recuperación de contraseña |
En caso de olvidar la contraseña, los usuarios pueden solicitar un enlace de recuperación enviado a su correo electrónico registrado para restablecerla de forma segura. |
6. Acceso con autenticación básica |
Los usuarios pueden ingresar a la aplicación únicamente mediante su correo electrónico y contraseña, garantizando un acceso controlado y seguro. |
7. Protección de datos personales |
Toda la información personal ingresada por el usuario, como datos de salud y planes alimentarios, se almacena de forma cifrada para garantizar la privacidad. |
8. Versión de Protocolo TLS |
El sistema utiliza la última versión estable del protocolo TLS (Transport Layer Security) para garantizar la seguridad en la transferencia de datos entre el cliente y el servidor. Este protocolo asegura la encriptación de la información y protege contra ataques como la interceptación de datos |
9. Protocolo HTTPS |
Las comunicaciones entre el cliente y el servidor están protegidas mediante el protocolo HTTPS, que combina el protocolo HTTP con encriptación TLS. Esto asegura que los datos sensibles, como contraseñas y datos de usuario, se transmitan de forma segura, evitando el acceso de terceros malintencionados. |
Política de respaldo de información
La política de respaldo de información de la aplicación de planificación alimentaria se desarrolló para proteger y asegurar la disponibilidad continua de los datos de los usuarios. La información, incluyendo datos personales, planes alimentarios y registros de consumo, se almacenó principalmente en la nube mediante MongoDB Atlas, lo que garantizó un acceso rápido y confiable desde cualquier lugar.
El respaldo de los datos se realiza diariamente a las 03:00 a.m., un horario en el que se espera una baja actividad de los usuarios, para minimizar cualquier posible interrupción en el servicio. Estos respaldos se almacenan tanto en la nube como en una ubicación local del servidor, lo que proporciona redundancia y facilita la recuperación de datos en caso de pérdida o daño.
En cuanto al almacenamiento local, los respaldos se guardan en un directorio seguro del servidor backend configurado con Node.js, protegido mediante cifrado avanzado (AES- 256). Este enfoque asegura que incluso si el sistema local se ve comprometido, los datos estarán protegidos contra accesos no autorizados. Además, cada copia de respaldo tiene una retención de 30 días, después de los cuales se elimina automáticamente para optimizar el uso del espacio de almacenamiento.(9)
Para garantizar la integridad de los respaldos, se realizan verificaciones automáticas de consistencia después de cada proceso de respaldo. En caso de detectar errores, el sistema genera alertas inmediatas al equipo técnico, que puede tomar medidas para corregir el problema y evitar cualquier pérdida de datos.(11)
Este enfoque robusto garantiza la seguridad y disponibilidad de los datos, asegurando que los usuarios puedan confiar en la plataforma para gestionar su alimentación sin interrupciones ni riesgos.(12)
Análisis de Costos
Para representar los costos del proyecto, se consideró el esfuerzo requerido para su ejecución (recursos humanos), los costos de licencias y el equipamiento necesario. Los valores exhibidos, se expresan en pesos argentinos al año 2024.
Costos de desarrollo
En la siguiente tabla, se muestra la remuneración del personal, cuyos valores fueron obtenidos de la página de Honorarios Recomendados | Actualizados por índice IPIM.(9)
Tabla 20. Tabla de Costos de Desarrollo |
|||
Rol |
Honorarios mensuales AR$ |
Meses Totales |
Subtotal AR$ |
Desarrollador Backend |
1 985 445,37 |
4 |
7 941 781,48 |
Desarrollador Frontend |
1 883 828,08 |
4 |
7 535 312,32 |
Analista Funcional Senior |
1 323 791,79 |
3 |
3 971 375,37 |
Tester (QA) |
1 625 876,52 |
4 |
6 503 506,08 |
Diseñador UI/UX |
1 481 837,93 |
1 |
1 481 837,93 |
Total Desarrollo |
|
|
27 433 813,18 |
Análisis de costos operativos
A continuación, se presentan los costos operativos, teniendo en cuenta los recursos necesarios para garantizar el funcionamiento del sistema, inversiones iniciales y gastos mensuales.
Tabla 21. Tabla de Costos Operativos. |
||
Descripción |
Inicial AR$ |
Recurrente Mensual AR$ |
Total de costos para la opción compra de todo el hardware. |
3 700 000 |
3500 |
El costo total inicial que implica la compra de todo el hardware es de $3 700 000, mientras que el costo recurrente mensual es de $3500. Esta inversión inicial permite al proyecto contar con la infraestructura necesaria desde el principio, con menores costos operativos a largo plazo.
Análisis de Riesgos
En la siguiente tabla se detallan los riesgos identificados que afectan al proyecto. A continuación, se muestra la matriz de riesgos posibles del proyecto.
Tabla 22. Riesgos identificados |
|||
Riesgo |
Causa |
Probabilidad de ocurrencia |
Impacto |
Planificación optimista |
Subestimación del tiempo necesario para desarrollar e integrar funciones. |
80 % |
4 |
Inconsistencias en la integración de IA y RA |
Complejidad técnica al integrar módulos de inteligencia artificial y realidad aumentada. |
70 % |
3 |
Problemas de rendimiento |
Uso intensivo de recursos por funcionalidades avanzadas o carga inesperada de usuarios. |
70 % |
4 |
Dificultad para conseguir usuarios beta |
Limitada convocatoria o interés de usuarios para probar la aplicación. |
70 % |
3 |
Aparición de una aplicación similar |
Competencia en el mercado con funcionalidades similares o superiores. |
70 % |
3 |
Pérdida de datos |
Fallos en los respaldos, ciberataques o errores de hardware. |
30 % |
5 |
Desacuerdos en el equipo |
Falta de alineación en objetivos o diferencias en la ejecución técnica. |
50 % |
3 |
Una vez identificados los riesgos que inciden en el proyecto, se realiza un análisis del impacto de estos mediante una matriz de riesgo.
Tabla 23. Matriz de riesgo |
|||||
|
Muy bajo (1) |
Bajo (2) |
Medio (3) |
Alto (4) |
Muy alto (5) |
Muy Alta (90 % - 0,9) |
0,9 |
1,8 |
2,7 |
3,6 |
4,5 |
Alta (70 % - 0,7) |
0,7 |
1,4 |
3,1 |
2,8 |
3,5 |
Media (50 % - 0,5) |
0,5 |
1,0 |
1,5 |
2,0 |
2,5 |
Baja (30 % - 0,3) |
0,3 |
0,6 |
0,9 |
1,2 |
1,5 |
Muy baja (10 % - 0,1) |
0,1 |
0,2 |
0,3 |
0,4 |
0,5 |
Al aplicar la matriz de riesgo a los riegos identificados, se obtiene la exposición al riesgo.
Tabla 24. Riesgos identificados |
|||
Riesgo |
Grado de exposición |
Porcentaje relativo |
Porcentaje acumulado |
Planificación optimista |
3,6 |
25,35 |
25,35 |
Inconsistencias en la integración de IA y RA |
2,1 |
14,79 |
40,14 |
Problemas de rendimiento |
2,8 |
19,72 |
59,86 |
Dificultad para conseguir usuarios beta |
2,1 |
14,79 |
74,65 |
Aparición de una aplicación similar |
2,1 |
14,79 |
89,44 |
Pérdida de datos |
1,5 |
10,56 |
100,0 |
Utilizando los valores obtenidos de exposición de riesgo y aplicando principio de Pareto, es posible identificar y diferenciar cuáles son los pocos riesgos vitales de los muchos riesgos triviales.
Figura 13. Diagrama de Pareto
A continuación, se muestra el plan de contingencia en base a los riesgos plasmados en la matriz de riesgos.
Tabla 25. Plan de Contingencia |
|
Riesgo |
Plan de Contingencia |
Planificación optimista |
Realizar estimaciones de tiempo más conservadoras y actualizar el cronograma en cada revisión. |
Inconsistencias en la integración de IA y RA |
Planificar sesiones de testing constantes y consultar con expertos en cada fase. Documentar problemas recurrentes y ajustar las soluciones. |
Problemas de rendimiento |
Hacer uso de herramientas de análisis de rendimiento y optimizar el uso de memoria y procesamiento de la aplicación. |
Dificultad para conseguir usuarios beta |
Buscar otros canales de promoción y ajustar expectativas de volumen de usuarios para la prueba beta. |
Aparición de una aplicación similar |
Enfocarse en las fortalezas propias del sistema y ajustar la estrategia de marketing para destacar los diferenciadores. |
Pérdida de datos |
Implementar backups automáticos y una funcionalidad de restauración. |
Desacuerdos en el equipo |
Realizar reuniones de alineación y talleres de trabajo colaborativo para construir consenso en el equipo. |
CONCLUSIONES
El proyecto de la fue desarrollado con el objetivo de brindar a los usuarios una herramienta que facilite la adopción de hábitos alimenticios saludables, utilizando inteligencia artificial para la personalización de planes alimentarios y realidad aumentada para el escaneo de alimentos. La motivación principal para llevar a cabo este proyecto fue la necesidad de proporcionar una solución accesible y efectiva para quienes desean mejorar su alimentación, pero enfrentan dificultades para seguir un plan debido a la falta de información y apoyo continuo.
A lo largo del desarrollo, se lograron alcanzar los objetivos planteados: se diseñó y programó una aplicación que permite a los usuarios registrar sus datos, recibir planes personalizados y realizar un seguimiento de su progreso mediante el registro diario de alimentos y la obtención de información nutricional en tiempo real.
Este proyecto no solo me permitió aplicar y profundizar conocimientos adquiridos durante la carrera, como el desarrollo de aplicaciones móviles y la integración de tecnologías avanzadas, sino que también me brindó la oportunidad de mejorar mis habilidades en gestión de proyectos y trabajo en equipo. Personalmente, el proceso fue enriquecedor, ya que me exigió superar mis propios límites y adquirir nuevas competencias técnicas y de análisis, lo cual me llena de satisfacción y me prepara mejor para enfrentar futuros desafíos profesionales.
REFERENCIAS BIBLIOGRÁFICAS
1. Comisión Honoraria para la Salud Cardiovascular. Montevideo: CHSC. https://www.cardio.com.uy
2. Organización Mundial de la Salud. World Health Organization. 2017. https://www.who.int
3. MyFitnessPal. MyFitnessPal. https://www.myfitnesspal.com
4. Organización Mundial de la Salud. World Health Organization. 2024. https://www.who.int
5. Apple Developer. SwiftUI documentation. Cupertino (CA): Apple Inc. https://developer.apple.com/documentation/swiftui
6. SwiftBeta. SwiftBeta. 2023. https://www.swiftbeta.com
7. Node.js. About Node.js. https://nodejs.org/en/about
8. IBM. IBM Documentation. https://www.ibm.com/docs/en
9. Honorarios Recomendados. Actualizados por índice IPIM. 2024. https://www.honorariosprofesionales.com
10. MongoDB. MongoDB Pricing. https://www.mongodb.com/pricing
11. Universidad Valle del Grijalva. UVG. https://www.uvg.edu.mx
12. Fernández AA. Alimentación consciente: principios y prácticas. Rev Nutr Integr. 2022.
FINANCIACIÓN
Ninguna.
CONFLICTO DE INTERESES
Ninguno.
CONTRIBUCIÓN DE AUTORÍA
Conceptualización: María Julieta Rabozzi Orelo.
Curación de datos: María Julieta Rabozzi Orelo.
Análisis formal: María Julieta Rabozzi Orelo.
Investigación: María Julieta Rabozzi Orelo.
Metodología: María Julieta Rabozzi Orelo.
Administración del proyecto: María Julieta Rabozzi Orelo.
Recursos: María Julieta Rabozzi Orelo.
Software: María Julieta Rabozzi Orelo.
Supervisión: María Julieta Rabozzi Orelo.
Validación: María Julieta Rabozzi Orelo.
Visualización: María Julieta Rabozzi Orelo.
Redacción – borrador original: María Julieta Rabozzi Orelo.
Redacción – revisión y edición: María Julieta Rabozzi Orelo.