Uma API no formato de microsserviço para recomendar músicas de acordo com a temperatura de uma cidade, usando Open Weather Map e Spotify API.
Esse é um desafio backend proposto pelo iFood, usando o Open Weather Map e a API do Spotify. Link do repositório original
- .NET 5
- Open Weather Map API
- Spotify API
- OAuth 2.0
- Docker
GET v1/:city
- return tracks suggestions based on weather forecast.
Requisição: GET v1/campinas
{
"temperature": 23.16,
"city": "Campinas",
"country": "BR",
"tracks": [
{
"track": {
"name": "test drive",
"href": "https://api.spotify.com/v1/tracks/3eZYOQO4UzKrUDYDghtnFw",
"artists": [
{
"name": "Ariana Grande"
}
]
}
},
{
"track": {
"name": "Save Your Tears",
"href": "https://api.spotify.com/v1/tracks/5QO79kh1waicV47BqGRL3g",
"artists": [
{
"name": "The Weeknd"
}
]
}
},
...
Temperatura > 30
- músicas para festa (spotify genreId: party
)15 >= Temperatura >= 30
- músicas Pop (spotify genreId: pop
)10 >= Temperatura > 15
- músicas de Rock (spotify genreId: rock
)Temperatura < 10
- músicas classicas (spotify genreId: classical
)
-
Faça um clone desse repositório
git clone https://github.com/Pedrofiigueiredo/iFood-challenge
-
Configure as variáveis ambiente pelo termial
dotnet user-secrets init
dotnet user-secrets set ServiceSettings:OpenWeatherApiKey {SUA_CHAVE}
dotnet user-secrets set ServiceSettings:SpotifyClientId {SEU_ID}
dotnet user-secrets set ServiceSettings:SpotifyClientSecret {SEU_SECRET}
obs
: Vocẽ pode usar o comandodotnet user-secrets list
para ver as variáveis adicionadas. -
Para rodar utilize o comando
dotnet run
. O servidor vai iniciar emhttps://localhost:5001
.
Obs1:
Para obter as keys para conectar com as APIs você terá que logar e copiá-las na aba de dashboard.