Monday, May 04, 2009


And so begins the project....

  1. Create a song database backend.
  2. Create a management front end.
  3. Create a customer selection front end.
  4. Create a server based music player.

And so begins the problems....

1) Using a database to represent song data seems like a good choice. However, it isn't as straight forward as it seems when you through in genres. I would like the manager to be able to include(or exclude) genres from playing.
  • I seem to have solved the problem by using a parent child relationship between genres, eg Rock->Alternative ->Adult Alternative. Using stored procedures to iterate through the children to the parent to generate the combined name (for user readability), and children to the parent checking id's. eg: if Rock is selected as an excluded genre, we also need to exclude all of it's children (Alternative, Adult Alternative) Had I chose Oracle or MsSQL I could have used SQL Recursion, MySQL doesn't support this. However, in my view, MySQL Community Edition beats the pants off MsSQL Express. In the end I want this to be able to function on low end hardware running Linux, so MS was out from the start anyway. However I'm looking forward to MySQL implementing this type of feature in the future (got to love community driven development).
2) I will need to either script a file transfer client, or write one into the manager program to transfer the actual mp3 files to the server.
  • Undecided
3) The web programming seems pretty straight forward and I plan on using PHP as the backend for interfacing with the SQL Server. I want this to be very user friendly and "pretty", however I don't claim to be much of a graphic artist, maybe I can leverage some contacts to help with this.

Updates to follow.

No comments: