Giter Club home page Giter Club logo

beet-farmer's Introduction

Beet Farmer

Beet Farmer is a microservice designed to be consumed by Turnip the Beet. It takes mood and cuisine queries to return a JSON response with customized playlists.

Example JSON Response

{
  "data": {
    "mood": {
      "type": "Chill",
      "playlists": [
        {
          "id": "37i9dQZF1DWTvNyxOwkztu",
          "name": "Chillout Lounge"
        },
        {
          "id": "37i9dQZF1DX0SM0LYsmbMT",
          "name": "Jazz Vibes"
        },
        {
          "id": "37i9dQZF1DX0FJ8JYkqiJu",
          "name": "Just Chill"
        },
        {
          "id": "37i9dQZF1DWXrDQedVqw6q",
          "name": "Reading Chill Out"
        },
        {
          "id": "37i9dQZF1DWVYHdtUb7Wil",
          "name": "Chilled Hits"
        }
      ]
    },
    "cuisine": {
      "type": "Italian",
      "playlists": [
        {
          "id": "37i9dQZF1DX6PSDDh80gxI",
          "name": "Indie Italia"
        },
        {
          "id": "37i9dQZF1DX3sDhLvLnzj8",
          "name": "Estate Italiana"
        },
        {
          "id": "37i9dQZF1DWTqE3nGpRCBE",
          "name": "Best of Indie Italia 2019"
        },
        {
          "id": "37i9dQZF1DX01NP73ErE8b",
          "name": "Italia in Alta Rotazione"
        },
        {
          "id": "37i9dQZF1DX3kkOVvCOkIe",
          "name": "80s Italia"
        }
      ]
    },
    "combos": {
      "type": "Chill Italian",
      "playlists": [
        {
          "id": "7wzGz49nfMw16QoANectLF",
          "name": "Classy Italian/Evening Chill"
        },
        {
          "id": "4nNTxy19OWTKNNGTRDbQ3k",
          "name": "Italian chill hits"
        },
        {
          "id": "6VTgtDYzNQhpbJf4PoUhf9",
          "name": "Chill italiana"
        },
        {
          "id": "4aMMd35iE1VeHvjcKjvTC8",
          "name": "in italiano ๐Ÿ‡ฎ๐Ÿ‡น Chill Out_Cocktail_Lounge [in Italian]"
        },
        {
          "id": "5a72JzFH04K2T458MURSqr",
          "name": "Mil Pasos - Wine and Cheese"
        }
      ]
    }
  }
}

Endpoints

GET /api/v1/recommend

Query Params

Params Usage
token Required. A valid access token from the Spotify Accounts service: see the Web API Authorization Guide for details.
mood Optional. Valid values are: party, chill, happy, jazzy, glum, classy, romantic, folksy, sunny, frisky
cuisine Optional. Valid values are: italian, mexican, indian, american, thai, greek, chinese, japanese, vietnamese, latin, korean, bbq, french

beet-farmer's People

Contributors

jfangonilo avatar jordanholtkamp avatar linda-le1 avatar mel-rob avatar

Stargazers

 avatar

Watchers

 avatar  avatar

beet-farmer's Issues

User Story 8 - Endpoints for Requests

As a developer,
When I receive user input from the front-end,
I am passed the params for cuisine and mood,
And I am able to use them to generate 3 API requests:

  • 1: for cuisine playlists (from Spotify)
  • 2: for mood playlists (from Spotify)
  • 3: for a combo (user-generated)

I am handling edge-cases where the results from any request are =< 4.

User Story 9 - Recommendations

As a developer,
When I receive the results back from an endpoint,
I sample the results to get 5 unique recommendations from each category:

  • mood
  • cuisine
  • combo

I pass these results through a serializer,
And it converts these to JSON to be passed to the front-end as a final recommendation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.