Skip to content

🎧 Create a Angular 7 - Django restFul project including MusicBrainzNGS also implement this into a music DB of all artist we want to add, such as electro-pop, pop, electronic

License

Notifications You must be signed in to change notification settings

surrenderoz/angular-django-rest-framework-musicbrainz-api

 
 

Repository files navigation

Project Badge PyPI

angular-django-rest-framework-musicbrainz-api

This project consist of a simple API call to search albums and artists from MusicBrainz database. The inspiration for this project came across multiple project on github including plumbn and jmad. I like to start by thanking them both for their open-source project which helped guide me to create my own implementation of this open-source repo.

NOTE: although test are passing and coverage is well above 80% the project will continue to inherit commits. Please feel free to contribute to this on-going open-source project.

MusicBrainz

If you are not familiar with the MusicBrainz the website gives this description about it:

MusicBrainz is a community-maintained open source encyclopedia of music information.

This means that anyone — including you — can help contribute to the project by adding information about your favorite artists and their works.

In 2000, Gracenote took over the free CDDB project and commercialized it, essentially charging users for accessing the very data they themselves contributed. In response, Robert Kaye founded MusicBrainz. The project has since grown rapidly from a one-man operation to an international community of enthusiasts that appreciates both music and music metadata. Along the way, the scope of the project has expanded from its origins as a mere CDDB replacement to the true music encyclopedia MusicBrainz is today.

As an encyclopedia and as a community, MusicBrainz exists only to collect as much information about music as we can. We do not discriminate or prefer one "type" of music over another, and we try to collect information about as many different types of music as possible. Whether it is published or unpublished, popular or fringe, western or non-western human or non-human — we want it all in MusicBrainz.

MusicBrainz Database

The MusicBrainz Database stores all of the various pieces of information we collect about music, from artists and their releases to works and their composers, and much more.

Note: We do not actually store or have access to any of the music recordings!

Most of the data in the MusicBrainz Database is licensed under CC0, which effectively places the data into the Public Domain. That means that anyone can download the data and use it in any way they want. The remaining data is released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 license.

All our data is available for commercial licensing. If you are interested in licensing this data for commercial use, please contact us.

What can I do with MusicBrainz?

If you have a digital music collection, MusicBrainz Picard will help you tag your files.

If you are a developer, our developer resources will help you in making use of our data.

If you are a commercial user, our live data feed will provide your local database with replication packets to keep it in sync.

Unit Testing

My goal for this project is to build the entire application based on unit testing, as I grow my knowledge as a software developer, I see the importance of testing your applications. I have two sets of unit testing for this repo, one base on the frontend written in Jest with Angular. Although Angular has some awesome out of the box testing tools, I wanted to challenge myself with building a test driven enivornment using Jest. The backend unit testing environment is written using Pytest

Unit Testing Tasks


  • Unit Test Plan
    • Prepare
    • Review
    • Rework
    • Baseline
  • Unit Test Cases/Scripts
    • Prepare
    • Review
    • Rework
    • Baseline
  • Unit Test
    • Perform

About

🎧 Create a Angular 7 - Django restFul project including MusicBrainzNGS also implement this into a music DB of all artist we want to add, such as electro-pop, pop, electronic

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 37.8%
  • Python 34.1%
  • HTML 21.3%
  • CSS 3.1%
  • JavaScript 3.1%
  • Dockerfile 0.6%