Back-end untuk menghasilkan rekomendasi berdasarkan karakteristik kegemaran bahan makanan serta tingkat kepedasan pengguna
Inbound port: 8000 (FastAPI)
Route yang tersedia:
'/predict' (POST): menerima data user (terutama field "spiceLevel" dan "likedIngredients") dan mengembalikan uid dan list food_id hasil rekomendasi
Buka terminal dan ubah direktori tempat dimana ingin meng-git clone repository ini
git clone https://github.com/khalidrizki01/food-recommender.git
cd food-recommender/api
Ada dua pilihan dalam membuat virtual environment, yakni dengan conda atau dengan venv
conda create --name food-recommender
conda activate food-recommender
python -m venv food-recommender-env
Dengan venv, ada dua cara untuk mengaktifkan environment, yakni jika menggunakan Windows atau dengan Mac/Linux
food-recommender-env\Scripts\activate
source food-recommender-env/bin/activate
pip install -r ../requirements.txt
Ubah nama file .env.temp
menjadi .env
.
Buka file .env
dan isikan URL koneksi mongoDB yang sesuai
python main.py
API akan tersedia di http://localhost:8000
. Request bisa dikirimkan ke endpoint /predict
Contoh body request:
{
"_id" : "648573c85d03c2e375114fc7",
"name": "Joshua Adams",
"spiceLevel": "A little bit spicy",
"likedIngredients": ["beef","pepperoni", "chicken", "tomatoes", "sauce", "peppers", "mushroom"]
}
Contoh return:
{
"uid": "648573c85d03c2e375114fc7",
"recommendation": [
"648573425d03c2e375114fb7",
"648573435d03c2e375114fba",
"648573435d03c2e375114fb9",
"648573445d03c2e375114fc1",
"648573445d03c2e375114fc0",
"648573445d03c2e375114fbe"
]
}