GithubHelp home page GithubHelp logo

memgraph / spotify-song-recommender Goto Github PK

View Code? Open in Web Editor NEW
38.0 5.0 5.0 6.61 MB

A Spotify song recommendation engine built with the power of graph analytics.

Home Page: https://memgraph.github.com/spotify-song-recommender

License: MIT License

Python 54.93% Dockerfile 1.66% Shell 2.45% CSS 9.09% JavaScript 12.24% HTML 3.08% Vue 16.55%
spotify spotify-api memgraph graph-algorithms pager

spotify-song-recommender's Introduction

Spotify Playlist Recommendation Application

Create playlists while being recommended songs that you will love!

license maintainer build

demo

Follow @memgraphdb

📋 Description

The world of music is constantly growing. Year by year, it is harder to keep up with trends and new songs that keep popping up. Luckily, there are enough people listening to music that finding new songs in playlists from people with similar tastes might not be so difficult after all. This project aims to serve as a recommendation engine for people searching for new songs they will enjoy based on the songs they currently listen to.

📚 Dataset

The Spotify playlist dataset contains 5 million song playlists from different users. Each playlist contains a list of music tracks. The data model sample is given below:

show dataset sample

{
    "name": "musical",
    "collaborative": "false",
    "pid": 5,
    "modified_at": 1493424000,
    "num_albums": 7,
    "num_tracks": 12,
    "num_followers": 1,
    "num_edits": 2,
    "duration_ms": 2657366,
    "num_artists": 6,
    "tracks": [
        {
            "pos": 0,
            "artist_name": "Degiheugi",
            "track_uri": "spotify:track:7vqa3sDmtEaVJ2gcvxtRID",
            "artist_uri": "spotify:artist:3V2paBXEoZIAhfZRJmo2jL",
            "track_name": "Finalement",
            "album_uri": "spotify:album:2KrRMJ9z7Xjoz1Az4O6UML",
            "duration_ms": 166264,
            "album_name": "Dancing Chords and Fireflies"
        },
        // 10 tracks omitted
        {
            "pos": 11,
            "artist_name": "Mo' Horizons",
            "track_uri": "spotify:track:7iwx00eBzeSSSy6xfESyWN",
            "artist_uri": "spotify:artist:3tuX54dqgS8LsGUvNzgrpP",
            "track_name": "Fever 99\u00b0",
            "album_uri": "spotify:album:2Fg1t2tyOSGWkVYHlFfXVf",
            "duration_ms": 364320,
            "album_name": "Come Touch The Sun"
        }
    ],
}
  

⚡ Features

:shipit: Installation

  1. Download and install Docker
  2. Clone this repository, or download the files with GitHub.
  3. Download the complete Spotify dataset and place the .json files in the directory /producer/data (the first file is already there, you can just replace it).

❓ Usage

  1. Run these commands in your favorite terminal/cmd:
docker-compose build
docker-compose up
  1. Open the app on the address localhost:80.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Jure Bajic

Mislav Vuletic

Dominik Tomicevic

This project follows the all-contributors specification. Contributions of any kind welcome!

Back to top

spotify-song-recommender's People

Contributors

dtomicevic avatar g-despot avatar jbajic avatar kgolubic avatar mastermedo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

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.