Thursday 17 March 2011

Database Structure


Music database:

  • music_ID : this is set to auto-increment so when a new song is added to the database a new ID is assigned to that track
  • music_url : a URL to the music file will be input into the database so when played it can be directed to the correct address
  • genre : so that the mixtape maker can recommend music dependant on the users type of mixtape a genre must be given to the song file to define it
  • artist : title of the artist
  • title : title of the song

Playlist Database:

  • playlist_ID : this is set to auto-increment so when a user makes a playlist it is assigned an individual ID
  • user_ID : pulled from the user database so that the playlist is assigned to the correct user
  • playlist : a list of arrays which store which songs were selected for the playlist
  • design : a list of arrays which store the design elements used for the design of the tape
  • tape_colour : a variable is stored in this field dependant on what colour cassette tape was chosen
  • tape_name : the name the user added to the mixtape
User Database : For login/register

  • user_ID : this is set to auto-increment so when a user registers with the site an individual ID is assigned to them
  • username : Records the users choice of username
  • email : Records the users email
  • password : Records the users password


Redefining the stages

To organise the structure of the website in my head, I am using psuedo code to determine how each of the stages will work.

Stage one : Define the mixtape

  • User enters mixtape_name
  • When next button is pressed
  • mixtape_name to be saved to an array
  • User chooses mixtape_style
  • When next button is pressed
  • mixtape_style to be recorded for further stage

Stage Two : Create a playlist

  • Depending on mixtape_style show relevant song recommendations
  • Search Facility to search through database of songs
  • Ability to play individual songs
  • Songs to be able to drag and drop to chosen tracks box
  • Chosen tracks need to be recorded into an array
  • login/register prompt when user clicks save
  • If user already logged in go to profile
  • After login/register playlist info needs to be recorded and pulled back in

Stage Three : Choose mixtape colour

  • Choice of coloured mixtape to be saved to an array

Stage Four : Design Inlay

  • Draggable elements onto cassette tape inlay
  • Colour Picker
  • Final design to be recorded to be remembered later

Stage Five : Verify Design

  • Pull in image of final design
  • Tracklisting pulled in and added to inlay

Stage Six : Profile Page

  • Pull in saved mixtapes (stages 2&6)
  • Ability to delete mixtape from the database
  • Edit button needs to work out what stage the user is at


Finalised Mock up Design

After much deliberation over the design of the website, I have finally decided on a design:

Homepage Design


Stage one


Stage Two


Stage Three


Stage Four


Stage Five