TestTubeyumyums es una aplicación basada en Django diseñada para proporcionar recomendaciones de alimentos personalizados a los usuarios en función de los resultados de sus análisis de sangre. La aplicación utiliza React y Tailwind (ambos basados en CDN) para el front-end y PostgreSQL para la base de datos. 
TestTubeyumyums tiene como objetivo dirigir una combinación única de los sectores de salud, patología y nutrición al ofrecer a los usuarios recomendaciones de alimentos basadas en sus informes de análisis de sangre. El proyecto adopta un enfoque único porque es raro encontrar aplicaciones que usen resultados de análisis de sangre para recomendar alimentos basados en déficit nutricionales y exceso. En realidad, el plan original era integrar la aplicación con una API pública que proporcionaría opciones dietéticas basadas en una variedad de nutrientes. Sin embargo, debido a que no hay una API similar disponible, una base de datos de alimentos hecha a sí misma que está integrada en el programa y accesible a medida que un archivo CSV hace recomendaciones. La complejidad del proyecto se encuentra en su algoritmo, que examina los resultados de los análisis de sangre de acuerdo con las variaciones en los parámetros del informe y las enfermedades relacionadas, extrae nutrientes que carecen, compara esas deficiencias con los informes precisos de vitaminas y minerales del usuario, y recupera las recomendaciones de alimentos de la base de datos local de CSV basada en el contenido nutricional de los elementos.
Un formulario de registro de varias páginas con capacidad de respuesta, entradas validadas, mensajes de error a medida y envíos incompletos es otro elemento del proyecto.
Base de datos CSV de alimentos que contiene el nombre de los alimentos, su descripción, el enlace de imagen y todas las info nutricional que incluyen un servicio promedio (nombrado porción recomendada).
Ayuda a usar CSS de viento de cola a través de CDN
Nombres por sí mismos
Modificado para cargar la base de datos CSV siempre que se inicialice la aplicación. Además, cuando las tablas se crean por primera vez en la base de datos, las tablas CBC y Vitmin se ven pobladas con valores de rango alto y bajo proporcionados por el Dr. Lalpathlab.
Contiene mensajes de análisis previos a la escritura para posibles combinaciones de parámetros CBC.
Ya no está en uso.
Contiene funciones auxiliares para devolver la variación de nutrientes basados en parámetros CBC bajos y altos
Contiene un diccionario global que vincula cada nutriente con su nombre de campo en la base de datos y cuánto de ese nutriente se considera alto/bajo diferenciador en un alimento.
Contiene funciones que reciben informes y rangos y diccionario de devolución de análisis de informes y alimentos recomendados.
Contiene información sobre qué tipo de desviación de parámetros puede apuntar hacia qué tipo de desequilibrio de nutrientes.
Utiliza las señales posteriores a la migración incorporadas de Django para poblar las dos primeras filas del modelo CBC y el modelo de vitmin cuando las migraciones se realizan por primera vez.
Contiene esquema para alimentos almacenados en la base de datos
Clon este repositorio:
git clone https://github.com/jijivishu/TestTubeYumYums.gitCambie al directorio del proyecto y cree un entorno virtual de Python:
cd TestTubeYumYums
python -m venv envActive el entorno virtual:
env S cripts a ctivate source env/bin/activate source env/Scripts/activateInstale los paquetes requeridos:
pip install -r requirements.txtCree un archivo .env en el directorio raíz con el siguiente contenido:
DB_NAME=test_tube_yum_yums_db
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432 Nota : Para el siguiente paso, asegúrese de que PostgreSQL se esté ejecutando en el puerto 5432 en Localhost con el nombre de usuario y la contraseña configurados en Postgres y el nombre de la base de datos configurado en test_tube_yum_yums_db . Modifique el archivo .env creado en el paso anterior, si es necesario, para la personalización de la base de datos. 
Crear migraciones:
python manage.py makemigrations
python manage.py migrateCargar datos de alimentos del archivo CSV a la base de datos:
python manage.py load_food_data food_data.csvEjecute la aplicación:
python manage.py runserverAcceda a la aplicación en http://127.0.0.1:8000/. Asegure una conexión a Internet.
El proceso de registro consta de tres pasos, con el primer paso obligatorio. Los usuarios proporcionan su nombre, correo electrónico (identificador único), fecha de nacimiento y contraseña en el primer paso. Los pasos posteriores recopilan información adicional como el país, el peso, la altura, la presión arterial y los datos de la diabetes. 
Las recomendaciones de alimentos se proporcionan en función de los informes de prueba anteriores de los usuarios. Si un usuario no tiene informes de prueba cargados, se les solicita que lo haga. Los usuarios pueden cargar informes de prueba a través de la ruta '/ADD', personalizando los rangos asociados con un informe de prueba en el momento de la carga. 
Tras el envío, los usuarios se redirigen a la página de inicio, donde pueden ver los artículos de alimentos recomendados en función de los resultados de sus pruebas y el informe de análisis. 
Lea nuestras pautas de contribución antes de contribuir al proyecto.
¡Gracias por usar TestTubeyumyums!