Skip to content

mgfallen/tourist-food-making

Repository files navigation

Туристический Сервис

Добро пожаловать в наш туристический сервис! Этот сервис позволяет пользователям планировать путешествия, указывая количество дней, количество людей, предпочтения по еде, бюджет и необходимую посуду. На выходе пользователи получают раскладку, общий список продуктов, а также рецепты на каждый день (завтрак, обед и ужин).

Возможности

  • Указание количества дней путешествия.
  • Указание количества людей в группе.
  • Применение фильтров на предпочтения по еде.
  • Задание бюджета на путешествие (маленький/средний/большой).
  • Выбор необходимой посуды для путешествия.
  • Получение раскладки продуктов и рецептов для каждого дня путешествия.

Установка и Запуск

Предварительные условия

Убедитесь, что у вас установлены следующие программы:

Запуск сервиса

  1. Клонируйте этот репозиторий на ваш локальный компьютер:

    git clone https://github.com/yourusername/tourist-service.git
    cd tourist-service
  2. Запустите сервис с помощью Docker Compose:

    docker compose up -d
    
  3. Откройте браузер и перейдите по адресу http://localhost:8080, чтобы получить доступ к сервису.

Использование

Запросы API

Рекомендации для путешествия

  • Метод: 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"
  }
]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published