This application interfaces with a database (populated by admin users) that stores:
1. Recordings, which are grouped as
2. Releases, and are recorded by
3. Musicians, who record in groups or alone as
4. Artists
Users of this application listen to music as mp3s on any listening software, web-based or otherwise, and the application identifies the recordings and tracks them for the user as:
1. Plays, which then become part of the user’s
2. Library
Data Structures
Recordings
Recordings have a length (in seconds), a recording date (mm-dd-yy). Recordings belong to one or more Releases.
Releases
Releases have a release date (mm-dd-yy), and associated artwork (.png). Releases have one or more Recordings and belong to one or more Artists.
Musicians
Musicians have a first name, last name, and birth country, province, and city. Musicians belong to one or more Artists.
Artists
Artists have a name, and home country, province, and city. Artists have one or more Releases
Plays
Plays have a length (in seconds, can be expressed as a percentage of the Recording length), a datetime of occurence, and are associated with one existing Recording
Libraries
Libraries are collections of Plays (which, in turn, are Recordings associated with Releases and Artists) and belong to one User