TestTubeyumyums adalah aplikasi berbasis Django yang dirancang untuk memberikan rekomendasi makanan khusus kepada pengguna berdasarkan hasil tes darah mereka. Aplikasi ini menggunakan React dan Tailwind (keduanya berbasis CDN) untuk front-end dan postgresql untuk database. 
TestTubeyumyums bertujuan untuk menargetkan perpaduan unik dari sektor kesehatan, patologi, dan nutrisi dengan menawarkan rekomendasi makanan pengguna berdasarkan laporan tes darah mereka. Proyek ini mengambil pendekatan unik karena tidak umum untuk menemukan aplikasi yang menggunakan hasil tes darah untuk merekomendasikan makanan berdasarkan defisit nutrisi dan kelebihan. Sebenarnya, rencana awalnya adalah mengintegrasikan aplikasi dengan API publik yang akan memberikan pilihan diet berdasarkan berbagai nutrisi. Namun, karena tidak ada API serupa yang tersedia, database makanan buatan sendiri yang diintegrasikan ke dalam program dan dapat diakses sebagai file CSV membuat rekomendasi. Kerumitan proyek ini ditemukan dalam algoritme, yang meneliti hasil tes darah sesuai dengan variasi dalam parameter laporan dan penyakit terkait, mengekstrak nutrisi yang kurang, membandingkan kekurangan tersebut dengan vitamin dan laporan mineral yang tepat dari kandungan nutrisi.
Formulir pendaftaran multi-halaman dengan responsif, entri yang divalidasi, pesan kesalahan yang dipesan lebih dahulu, dan pengiriman yang tidak lengkap adalah elemen lain dari proyek.
Database CSV makanan makanan yang berisi nama makanan, deskripsi, tautan gambar, dan semua info nutrisi termasuk porsi rata -rata (bernama porsi yang disarankan).
Membantu dalam menggunakan CSS Tailwind melalui CDN
Nama yang jelas sendiri
Dimodifikasi untuk memuat database CSV setiap kali aplikasi diinisialisasi. Juga, ketika tabel dibuat untuk pertama kalinya dalam database, tabel CBC dan Vitmin dihuni dengan nilai kisaran tinggi dan rendah yang disediakan oleh Dr. Lalpathlab.
Berisi pesan analisis pra-tulis untuk kemungkinan kombinasi parameter CBC.
Tidak lagi digunakan.
Berisi fungsi pembantu untuk mengembalikan variasi nutrisi berdasarkan parameter CBC rendah dan tinggi
Berisi kamus global yang menghubungkan setiap nutrisi dengan nama lapangan dalam database dan berapa banyak nutrisi yang dianggap sebagai pembeda tinggi/rendah dalam item makanan.
Berisi fungsi yang mengambil laporan dan rentang dan kembali Kamus Analisis Laporan dan item makanan yang direkomendasikan.
Berisi info tentang jenis deviasi parameter apa yang dapat menunjuk pada jenis ketidakseimbangan nutrisi.
Memanfaatkan sinyal pasca migrasi Django yang dibangun untuk mengisi dua baris pertama model CBC dan model Vitmin ketika migrasi dibuat untuk pertama kalinya.
Berisi skema untuk makanan yang disimpan dalam database
Klon Repositori ini:
git clone https://github.com/jijivishu/TestTubeYumYums.gitBeralih ke direktori proyek dan buat lingkungan virtual Python:
cd TestTubeYumYums
python -m venv envAktifkan lingkungan virtual:
env S cripts a ctivate source env/bin/activate source env/Scripts/activatePasang paket yang diperlukan:
pip install -r requirements.txtBuat file .env di direktori root dengan konten berikut:
DB_NAME=test_tube_yum_yums_db
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432 CATATAN : Untuk langkah berikutnya, pastikan bahwa PostgreSQL berjalan di port 5432 di LocalHost dengan nama pengguna dan kata sandi yang disetel ke Postgres dan nama database yang diatur ke test_tube_yum_yums_db . Ubah file .env yang dibuat pada langkah sebelumnya, jika diperlukan, untuk kustomisasi database. 
Buat migrasi:
python manage.py makemigrations
python manage.py migrateMuat data makanan dari file CSV ke database:
python manage.py load_food_data food_data.csvJalankan aplikasi:
python manage.py runserverAkses aplikasi di http://127.0.0.1:8000/. Pastikan koneksi internet.
Proses pendaftaran terdiri dari tiga langkah, dengan langkah pertama wajib. Pengguna memberikan nama mereka, email (pengidentifikasi unik), tanggal lahir, dan kata sandi pada langkah pertama. Langkah -langkah selanjutnya mengumpulkan informasi tambahan seperti negara, berat badan, tinggi, tekanan darah, dan data diabetes. 
Rekomendasi makanan disediakan berdasarkan laporan tes pengguna sebelumnya. Jika pengguna tidak memiliki laporan tes yang diunggah, mereka diminta untuk melakukannya. Pengguna dapat mengunggah laporan uji melalui rute '/tambahkan', menyesuaikan rentang yang terkait dengan laporan tes pada saat unggahan. 
Setelah diserahkan, pengguna diarahkan ke halaman beranda, di mana mereka dapat melihat makanan yang direkomendasikan berdasarkan hasil tes dan laporan analisis mereka. 
Harap baca pedoman kontribusi kami sebelum berkontribusi pada proyek.
Terima kasih telah menggunakan testtubeyumyums!