Skip to content

syedhassaanahmed/MusicMashup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Music Mashup

REST API which simply provides a mashup of some underlying APIs. APIs which will be combined are MusicBrainz, Wikipedia and Cover Art Archive.

  • MusicBrainz provides an API with detailed information about music artists (name, year of birth, country, etc.).
  • Wikipedia is a community wiki which contains descriptive information about music artists.
  • Cover Art Archive is a sister project of MusicBrainz which includes cover images of different albums, singles, eps etc. released by an artist.

Music Mashup API receives an MBID (MusicBrainz Identifier) and returns data consisting of

  • Description of the artist is taken from Wikipedia. Wikipedia does not contain any MBID without mapping between MBID and Wikipedia identifiers available through MusicBrainz API.
  • List of all albums released by artist and links to images for each album. List of albums is available in MusicBrainz but pictures are on Cover Art Archive.

##External APIs ###MusicBrainz

##Wikipedia

Note: In JSON response of MusicBrainz you will find an entity named Relations. Where type is wikipedia, you will find the string which can be used to lookup Wikipedia API i.e Nirvana_(band)

###Cover Art Archive

Note: In JSON response of MusicBrainz you will find an entity named release - groups. It includes album's title (title) and its MBID (ID). This MBID is then used to query Cover Art Archive.

Since the underlying APIs can be quite slow, Music Mashup is designed to handle high loads through output caching, HTTP compression and Async requests where possible.

###Example response

{"mbid" : "5b11f4ce-­a62d-­471e-­81fc-­a69a8278c7da",
 "description" : "<p><b>Nirvana</b> was an American rock band that was formed ... ",
 "albums" : [ { "title" : "Nevermind", "id": "1b022e01-­4da6-­387b-­8658-­8678046e4cef",
 "image": "http://coverartarchive.org/release/a146429a-­cedc-­3ab0-­9e41-­1aaf5f6cdc2d/3012495605.jpg" },
 { ... more albums... }]}