Добро пожаловать в наш туристический сервис! Этот сервис позволяет пользователям планировать путешествия, указывая количество дней, количество людей, предпочтения по еде, бюджет и необходимую посуду. На выходе пользователи получают раскладку, общий список продуктов, а также рецепты на каждый день (завтрак, обед и ужин).
- Указание количества дней путешествия.
- Указание количества людей в группе.
- Применение фильтров на предпочтения по еде.
- Задание бюджета на путешествие (маленький/средний/большой).
- Выбор необходимой посуды для путешествия.
- Получение раскладки продуктов и рецептов для каждого дня путешествия.
Убедитесь, что у вас установлены следующие программы:
-
Клонируйте этот репозиторий на ваш локальный компьютер:
git clone https://github.com/yourusername/tourist-service.git cd tourist-service
-
Запустите сервис с помощью Docker Compose:
docker compose up -d
-
Откройте браузер и перейдите по адресу
http://localhost:8080
, чтобы получить доступ к сервису.
-
Метод:
POST
-
URL:
/api/v1/recommendation
-
Тело запроса:
{ "num_people": 4, "excluded_food": [ 2, 5, 9 ], "num_days": 7, "available_cookware": [ "кастрюля", "сковорода" ], "budget": "средний"
} ```
- Описание полей:
days
: Количество дней путешествия.people
: Количество людей в группе.food_filters
: Фильтры на предпочтения по еде (например,яйцо
,молоко
).budget
: Бюджет на путешествие (маленький
,средний
,большой
).utensils
: Список необходимой посуды (например,кастрюля
).
curl -X POST http://localhost:8080/api/v1/recommendation \
-H "Content-Type: application/json" \
-d '{
"days": 7,
"people": 4,
"food_filters": [2, 5],
"budget": "средний",
"utensils": ["кастрюля"]
}'
Пример ответа
[
{
"order_id": 12345,
"breakfast": {
"recipe_id": 1,
"name": "Омлет с овощами"
},
"lunch": {
"recipe_id": 2,
"name": "Куриный суп"
},
"dinner": {
"recipe_id": 3,
"name": "Стейк с картофелем"
}
}
]
- Метод:
GET
- URL:
/products/{order_id}
[
{
"product_id": 101,
"name": "яйцо",
"quantity": 12,
"unit": "шт",
"url": "https://food-good.ru/apple"
}
]