Migrate all the things

* Migrates from Mongo to Postgres.
* Migrates from JSPM to Webpack.
* Migrates from React to Vuejs.
* Migrates from Bootstrap to Bulma.

Also:
* Fixes rendering of meta data in the document head tag.
This commit is contained in:
Jonathan Cremin 2016-10-03 13:31:29 +01:00
parent 09706778d9
commit 7bb0497ff4
76 changed files with 6741 additions and 1760 deletions

View file

@ -8,22 +8,16 @@ Make sharing from music services better. We match links from Rdio, Spotify, Deez
* iTunes
* Deezer
* Google Play Music (requires `GOOGLE_EMAIL` and `GOOGLE_PASSWORD`)
* Rdio (requires `RDIO_CLIENT_ID` and `RDIO_CLIENT_SECRET`)
* Xbox Music (requires `XBOX_CLIENT_ID` and `XBOX_CLIENT_SECRET`)
* Youtube (requires `YOUTUBE_KEY`)
Google doesn't provide a public API for Play Music, hence this `GOOGLE_PASSWORD` awfulness. The account also needs to be a Google Play Music All Access subscriber and to have played at least one track on a mobile device. Yeah.
It doesn't parse Youtube urls yet, only finds matches on Youtube. The metadata we get from Youtube around music videos is poor and will require more work than the others.
Support for Amazon Music is [in a branch](https://github.com/kudos/match.audio/tree/amazon) but the library I used is poor and needs either rewriting or replacing to support Amazon urls and not just finding matches on Amazon.
If you don't provide credentials, it will simply disable support for that service. Spotify, Deezer and iTunes don't need any auth. The test suite will fail if you don't provide credentials for all services, but individual tests will pass otherwise.
## Getting Started
Install `node` and `mongodb` if you don't already have them. Then `npm install` and run the app with `npm start` or tests with `npm test`.
Install `node` and `postgres` if you don't already have them. Then `npm install` and run the app with `npm start` or tests with `npm test`.
## Contributing