API para buscar receitas a partir de ingredientes passados por parametro.
Este projeto foi construído com as seguintes dependências:
A API pode ser iniciada, tanto com o node rodando localmente quanto com o docker.
Para iniciar com o docker na pasta raiz do projeto, execute o comando abaixo:
docker-compose build
Após a finalização do build, deve ser iniciado o container, execute o comando abaixo:
docker-compose up
O comando acima, irá exacutar o container com os logs do mesmo no terminal.
Caso não queira ver os logs, execute:
docker-compose up -d
Caso queira rodar o projeto localmente, execute os seguintes comandos:
npm install
Após a instalação das dependências com o comando acima, inicie a API com o seguinte comando:
npm start
Existe um arquivo de configuração na raiz do projeto .env, nele contém algumas variáveis de ambiente, abaixo se encontram as variáveis existentes atualmente:
RECIPE_PUPPY_API_URL
: URL da API do recipe puppy.GIPHY_API_URL
: URL da API do Giphy.GIPHY_API_KEY
: Chave de acesso para acessar API do GIPHY.
Atualmente a API possui apennas um endpoint
GET http://{HOST}/recipes/?i={ingredient_1},{ingredient_2},{ingredient_3} Endpoint que reporta a lista de receitas a partir dos ingredientes passados por parametro.
O parâmetro
i
deve conter de 1 a 3 ingredientes.
Exemplo:
http://localhost:3006/recipes/?i=onions,garlic
Aqui tem um exemplo de retorno do request.
{
"keywords": ["onion", "tomato"],
"recipes": [{
"title": "Greek Omelet with Feta",
"ingredients": ["eggs", "feta cheese", "garlic", "red onions", "spinach", "tomato", "water"],
"link": "http://www.kraftfoods.com/kf/recipes/greek-omelet-feta-104508.aspx",
"gif": "https://media.giphy.com/media/xBRhcST67lI2c/giphy.gif"
},{
"title": "Guacamole Dip Recipe",
"ingredients": ["avocado", "onions", "tomato"],
"link":"http://cookeatshare.com/recipes/guacamole-dip-2783",
"gif":"https://media.giphy.com/media/I3eVhMpz8hns4/giphy.gif"
}
]
}