Front End Assignment - Progress Bars

Primary task: Using vanilla JavaScript or any JavaScript library of your choosing (no jQuery), implement the following (you can make it look however you like):

Example here

Endpoint here

Requirements

Once complete publish your code to github, bitbucket or other git based source control.

Bonus points for implementing "production quality" code, using practices such as:

It's up to you to decide how far you want to go, time permitting.

Example structure from the endpoint:

{
    "buttons": [
        10,
        38,
        -13,
        -18
    ],
    "bars": [
        62,
        45,
        62
    ],
    "limit": 230
}

Breakdown

Key Description
buttons The amount of buttons to display and what value they increment or decrement the selected bar. Randomly generates between 4 and 6 buttons.
bars The number of progress bars to display and their default values. Randomly generates between 2 and 5 progress bars.
limit The equivalent to 100% of each bar. For example, the bar should be 100% filled when the progress hits 230.

Have fun!