TestTubeyumyums는 혈액 검사 결과를 기반으로 사용자에게 맞춤형 음식 권장 사항을 제공하도록 설계된 Django 기반 응용 프로그램입니다. 이 응용 프로그램은 프론트 엔드에 대한 React 및 Tailwind (CDN 기반) 및 데이터베이스의 경우 PostgreSQL을 사용합니다. 
Testtubeyumyums는 혈액 검사 보고서를 기반으로 음식 권장 사항을 사용자에게 제공함으로써 건강, 병리 및 영양 부문의 독특한 조화를 목표로합니다. 이 프로젝트는 영양 적자와 초과를 기반으로 음식을 추천하기 위해 혈액 검사 결과를 사용하는 응용 프로그램을 찾는 것이 드물기 때문에 독특한 접근 방식을 취합니다. 실제로, 원래 계획은 앱을 다양한 영양소를 기반으로식이 옵션을 제공하는 공개 API와 통합하는 것이 었습니다. 그러나 비슷한 API가 없기 때문에 프로그램에 통합되어 CSV 파일로 액세스 할 수있는 자체 제작 식품 데이터베이스가 권장합니다. 이 프로젝트의 복잡성은 알고리즘에서 발견되며, 보고서 매개 변수 및 관련 질병의 변화에 따라 혈액 검사 결과를 조사하고 부족한 영양소를 추출하고 이러한 결함을 사용자의 정확한 비타민 및 미네랄 보고서와 비교하고 항목의 영양 내용을 기반으로 한 CSV 데이터베이스의 음식 권장 사항을 검색합니다.
응답 성, 검증 된 항목, 맞춤형 오류 메시지 및 불완전한 제출이있는 다중 페이지 등록 양식은 프로젝트의 또 다른 요소입니다.
CSV 식품 이름, 설명, 이미지 링크 및 평균 서빙 (권장 부분)을 포함한 모든 영양 정보를 포함하는 식품 품목의 데이터베이스.
CDN을 통해 Tailwind CSS를 사용하는 데 도움이됩니다
자기 설명적인 이름
앱이 초기화 될 때마다 CSV 데이터베이스를로드하도록 수정되었습니다. 또한 데이터베이스에서 처음으로 테이블을 만들 때 CBC 및 Vitmin 테이블에는 Dr. Lalpathlab이 제공하는 높은 범위 값이 채워집니다.
CBC 매개 변수의 가능한 조합에 대한 사전 작성된 분석 메시지가 포함되어 있습니다.
더 이상 사용되지 않습니다.
저 및 높은 CBC 매개 변수를 기반으로 영양소 변화를 반환하기위한 헬퍼 기능이 포함되어 있습니다.
각 영양소를 데이터베이스의 필드 이름과 연결하는 글로벌 사전과 식품 품목의 고/저 분화제로 간주되는 영양소의 양을 포함합니다.
보고서 및 범위를 취하고 보고서 분석 및 권장 식품을 반환하는 기능이 포함되어 있습니다.
어떤 유형의 매개 변수 편차가 어떤 종류의 영양분 불균형을 지적 할 수 있는지에 대한 정보를 포함합니다.
마이그레이션이 처음으로 이루어질 때 CBC 모델과 Vitmin 모델의 첫 두 줄을 채우기 위해 Django의 내장 된 포스트 마이그레이션 신호를 사용합니다.
데이터베이스에 저장된 식품에 대한 스키마가 포함되어 있습니다
이 저장소를 복제하십시오.
git clone https://github.com/jijivishu/TestTubeYumYums.git프로젝트 디렉토리로 전환하고 파이썬 가상 환경을 만듭니다.
cd TestTubeYumYums
python -m venv env가상 환경 활성화 :
env S cripts a ctivate source env/bin/activate source env/Scripts/activate필요한 패키지 설치 :
pip install -r requirements.txt다음 내용으로 루트 디렉토리에서 .env 파일을 만듭니다.
DB_NAME=test_tube_yum_yums_db
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432 참고 : 다음 단계에서는 PostgreSQL이 Postgres 로 설정된 사용자 이름과 비밀번호를 사용하여 LocalHost 의 포트 5432 에서 실행되고 Test_Tube_yum_yums_db 로 설정된 데이터베이스 이름이 설정되어 있는지 확인하십시오. 데이터베이스 사용자 정의를 위해 필요한 경우 이전 단계에서 생성 된 .env 파일을 수정하십시오. 
마이그레이션 생성 :
python manage.py makemigrations
python manage.py migrateCSV 파일에서 데이터베이스에 식품 데이터로드 :
python manage.py load_food_data food_data.csv응용 프로그램 실행 :
python manage.py runserverhttp://127.0.0.1:8000/에서 응용 프로그램에 액세스하십시오. 인터넷 연결을 확인하십시오.
등록 절차는 세 단계로 구성되며 첫 번째 단계는 필수입니다. 사용자는 첫 번째 단계에서 이름, 이메일 (고유 식별자), 생년월일 및 비밀번호를 제공합니다. 후속 단계는 국가, 체중, 높이, 혈압 및 당뇨병 데이터와 같은 추가 정보를 수집합니다. 
식품 권장 사항은 사용자의 이전 테스트 보고서를 기반으로 제공됩니다. 사용자가 업로드 된 테스트 보고서가 없으면 그렇게하라는 메시지가 표시됩니다. 사용자는 '/add'경로를 통해 테스트 보고서를 업로드하여 업로드시 테스트 보고서와 관련된 범위를 사용자 정의 할 수 있습니다. 
제출되면 사용자는 홈페이지로 리디렉션되어 테스트 결과 및 분석 보고서를 기반으로 권장 식품을 볼 수 있습니다. 
프로젝트에 기여하기 전에 기여 가이드 라인을 읽으십시오.
testtubeyumyums를 사용해 주셔서 감사합니다!