Skip to content

Ka666aH/YMMYY

Repository files navigation

You'll make me yum yum

Web API для подбора рецептов по ингредиентам

Функционал

  • Принимает список ингредиентов на русском/английском и возвращает 4 рецепта, в которых применяются эти ингредиенты. Минимизирует количество неиспользуемых ингредиентов.

Стэк

  • ASP.NET Core 10
  • LibreTranslate 1.9 (перевод ингредиентов/рецептов)
  • SpoonacularAPI (англоязычный агрегатор рецептов)
  • Redis (кэширование запросов/переводов)

Принцип работы

  1. Приложение получает список рецептов на русском языке. Передаёт их LibreTranslate, который переводит их на английский, и кэширует.
  2. Запрос с переведённым списком ингредиентов отправляется SpoonacularAPI, ответом является список рецептов на английском.
  3. Рецепты передаются в LibreTranslate, который переводит их на русский, и кэшируются.
  4. Приложение возвращает список рецептов на русском.

Инструкция

Docker Compose

Для запуска приложения необходимо:

  • Указать API ключ Spoonacular в переменной SPOONACULAR_API_KEY в файле .env. Для этого необходимо зарегистрироваться на сайте и получить API ключ. Лимит 48 уникальных запросов в день в бесплатном плане.
  • Запустить проект в корне проекта с помощью команды:
docker compose up
  • Приложение использует интерфейс Swagger UI для тестирования API, который находится по адресу: http://localhost:5000/swagger/index.html

Особенности

В случае возникновения проблем с запуском сервиса переводчика рекомендуется переехать в другую страну (сервисы запускаются на хосте).

About

Web API для подбора рецептов по ингредиентам на ASP.NET Core. Интеграция со сторонними API (Spoonacular, LibreTranslate), кэширование в Redis и запуск в Docker.

Topics

Resources

Stars

Watchers

Forks

Contributors