jamesfiltness / tuneify

A streaming music app built using React, Redux and Serverless with data from Musicbrainz and LastFm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tuneify

Tuneify is a music app built using the YouTube video player API and data from Musicbrainz and LastFm.

The focus for this project has been on learning new tech and not so much on code quality 🙈

Update on this project:

I ran this project locally recently and there are a few things that no longer work:

  1. Playing a track no longer queue's the video in the embedded YouTube player. There has probably been a change to YouTube's Player API. Likely to be a quick fix.
  2. LastFm has stopped providing thumbnails for artists. See https://www.reddit.com/r/lastfm/comments/bjwcqh/api_announcement_lastfm_support_community/ for details.

Moving away from LastFm for search and images

I had started to investigate removing LastFm as a dependency for a few reasons:

  1. The data was not kept up to date. New releases and artists took months to appear in the data, if at all
  2. LastFm prohibits the use of Artist/release images in third party apps

Tuneify is essentially powered by LastFm. It is used by the autocomplete search, track data and images. So I started to look for other solutions and decided to see if I could roll my own. There are some repos related to that effort:

Tech

  • React Redux, Redux Router frontend
  • Mocha, Chai, Enzyme, Sinon
  • Es6 + Babel
  • Serverless (AWS Lambda) + DynamoDb to store user playlist data
  • Auth0
  • ElasticSearch for autocomplete
  • Musicbrainz slave https://bitbucket.org/lalinsky/mbslave
  • S3 + Cloudfront to serve static frontend
  • S3 + Cloudfront to store artist / album images

About

A streaming music app built using React, Redux and Serverless with data from Musicbrainz and LastFm

License:MIT License


Languages

Language:JavaScript 87.9%Language:CSS 11.1%Language:HTML 1.0%