/beatport

A REST API to follow the most hyped tracks on the dance floors :notes: :dancers:

Primary LanguageGoMIT LicenseMIT

beatport

Build Status Go Report Card codecov

A REST API to follow the most hyped tracks on the dance floors 🎶 👯

This project has no link with beatport.com. It's just an open source project to facilitate the search for tracks through an API.

Getting Started

Requirements

Setting up and running locally

# Install dependencies
make install

# Run server
make run

Running the tests

make test

Build process

Build

make build

Create a Docker image

make image

Running the app using Docker

make run-docker

Sample

Genres

Get all available genres on Beatport:

GET /genres

[
    {
        "name": "Afro House",
        "key": "afro-house-89",
        "url": "https://www.beatport.com/genre/afro-house/89"
    },
    {
        "name": "Bass House",
        "key": "bass-house-91",
        "url": "https://www.beatport.com/genre/bass-house/91"
    },
...
]

Tracks

TOP 10

Get the top 10 tracks by a genre key:

GET /tracks/top10/:genreKey

[
    {
        "chartNumber": 1,
        "title": "Mona Ki Ngi Xica",
        "remix": "Pablo Fierro Remix",
        "artists": [
            "Pablo Fierro",
            "Bonga"
        ],
        "label": "MoBlack Records",
        "genre": "Afro House",
        "url": "https://www.beatport.com/track/mona-ki-ngi-xica-pablo-fierro-remix/14279156",
        "price": "1.29"
    },
    {
        "chartNumber": 2,
        "title": "Feeling Good",
        "remix": "Original Mix",
        "artists": [
            "Javi Colors",
            "Dr. Alfred"
        ],
        "label": "SP Recordings",
        "genre": "Afro House",
        "url": "https://www.beatport.com/track/feeling-good-original-mix/13781081",
        "price": "1.29"
    },
...
]