Question
PHP Programming Instructions: QUICK OVERVIEW For this project, you will create a small set of webpages for managing a music collection db over the web.
PHP Programming
Instructions:
QUICK OVERVIEW
For this project, you will create a small set of webpages for managing a music collection db over the web. This will entail writing both the webpages and the associated database to which those webpages interface. Some creativity is expected in the webpage design to make it look interesting. This means some eye candy on the webpages is expected. Just plain white and black text web pages while may work, will not get full credit.
THE PAGES OVERVIEW
Consistent look and feel to all the pages along with a layout. This means nav bars and where items appear on the pages should be consistent throughout the website. You may have to pull from the experience of the web development class on how to do CSS for this consistency.
Main Web Page/Home Page
The first web page should present a nice Navigation so that the user can get to all other relevant webpages from that one web page. This Home web page must be the return point when a user chooses to go to the home page on any of the other pages in this project. All other pages in the project must have the return to home page option. The text/links should be easy to read and follow. No super small text or color choices that make it hard to read. This being a music collection website, I would expect this first web page to set the tone (pun intended there) for the entire website.
Show the list of Albums Page
One page in the project should show the albums of the music collection. Choices to show albums in a sorted order should include order by:
Album Title (this one is the default)
Artist
Genre
Label
Release Date
Each album in the collection needs to show on this page and have all data fields shown to the user. The user should be able to choose which of the orders they want to use to show the list of albums. If the user changes order by criteria, the page refreshes to show the albums listed by the new order. If the user would like to see the contents of an album, they can get that information by clicking on the album title or a button on this page. It will then take the user to the Album page where they will see the list of songs associated with that album along with all information about that album.
Show the List of Songs Page
One page in the project should show the complete set of Songs in the music collection. Listing choices to show song should include order by:
Title of Song (this is the default)
Album from which the song came from
Writer of the Song
Only the three fields of information about a song on this page should be those listed in the bulleted items. All the other information about the song should only be accessible from the Single Song page. The user should be able to go to a page for each song that will tell the user all the information about the individual song in much the same way the user could go to a single album from the list of albums. Keep the interface between the two methods the same. If you use a button for one, you should use a button for both. If you use a hyperlink for one, use a hyperlink for both. The user interface should be a constant for the user.
Show An Album Page
One page must show the contents an album including all songs on the album. The album could be chosen from a dropdown box or it could be that the page is only linked to by the album page and the user has to choose an album on that page first. This page should have a link back to the albums page. On this page, the songs should be able to be order by:
Title of Song (this is the default)
Writer of the Song
BillBoard Ranking
Length
For example, a user might want to see the songs on the album from Shortest to Longest song. The page needs to be able to change with the user input. Only the fields of information about a song on this page should be those listed in the bulleted items. All the other information about the song should only be accessible from the Single Song page. The user should be able to go to a page for each song that will tell the user all the information about the individual song in much the same way the user could go to a single album from the list of albums. Keep the interface between the two methods the same. If you use a button for one, you should use a button for both. If you use a hyperlink for one, use a hyperlink for both. The user interface should be a constant for the user.
Show Artist List Page
One page must show all the artists represented in the collection. The user could get to this page by way of the albums page, the single song page, the main home page, and any other way in the web pages where one might click on an artists name. On this page, the artist should be able to be ordered by:
Last Name of artist (this is the default)
Age
Number of Songs they have in the collection
As with the other pages, when the user chooses a different order by method, the page needs to adjust for them. Only the three bullet items should be shows on this list page. Keep consistent on how the user might go to details about a specific artist. If you use hyperlinks before, keep using them If you use a select box methodology, continue with that method. The user should be able to get the information a single artist from this page.
Show Single Artist Page
One page in the website will need to show the information about the artist in a nice table like format. The last item on the page for each artist should be a song list of every song they have in the music collection. A link from each song in that list should take the user to the single song page for that song. There will not be a way on this artist page to rearrange the order of the songs or any information about the artist. Show the list to the user in title order by alphabetic means of A to Z.
New Album Entry Page
One page of the project must allow the user to enter new information about an album. All information needs to be collected and submitted to the database for the new album. When a new album is added to the database through this page, the new updated album list should be shown.
Delete an Album Page
One page of the project must allow the user to delete an album from the collection. When an album is deleted, any songs linked to that album needs to be deleted also. The feedback to the user for this page should be that the album is deleted along with a list of the songs that were also deleted when the album was removed. Be sure that the user has a chance to not delete, so include a "Are you Sure" style interface for the user on deleting an album.
Show the information on a Single Song Page
One page in the project must allow the user to see all the information about a single song. The use should be able to link from the song page back to the album it is part of no matter how the user might have arrived at the Song page. Another link should also allow the user to return to the List of Songs page.
New Song Entry Page
One page in the project must allow the user to enter new songs into the database and associate that song to an album. Feedback to the user once a song is added to an album should be to show the album with all songs presently associated with the album. Multiple songs at the same time are not required BUT a better user interface solution would be to allow the user to put in multiple new songs at a time and associate all the songs with the one album. Use dropdown lists to enforce referential integrity in regards to the Artist.
Delete a Song Page
One page in the project must also allow for the removal of a song from an album. The user should be allowed to delete a song from an album. The page MAY also allow for multiple songs to be deleted at the same time but that is not required. If all songs on an album are deleted, that does not mean that the album is removed from the database. The album may remain in the database. Deletion of an album is a different process. The feedback to the user after deleting a song or songs is to show the album with the remaining songs.
New Artist Entry Page
There needs to be a page that will allow the user to enter a new artist into the music collection. The user should be able to get to this page from the home page or any page where an artist might need to be entered before another activity can be done involving an artist. IE you cant enter a song without an artist for that song already in the database.
Delete Artist Page
There should be a list of artists who do not have any songs associated with them in the music collection because songs or albums have been deleted. On this page, the user should be able to remove the artist from the music collection.
Editing Functionality:
Everyone makes mistakes, so the user needs to be able to edit the information about the artist, a song, an album, or any item you allow them to enter. There needs to be a page that allows for this editing. Note, this functionality can be integrated with the new item page so that editing an item and entering an item can be the same page. You can also make it a page by itself. Having the same page for editing and entering a new item will create a better experience for the user by having that consistency.
THE DATA TO BE STORED OVERVIEW
he information that should be collected for each album is:
Title of the Album
Artist of the Album (can be various artist on a single album, various can be the information in this field)
Label for the Album (which company put the album out)
Genre of Music
Release Date for the Album
Notable Fact about the Album (can be empty)
The Information that should be collected for each song is:
Name of the Song
Artist for the song (cant have a song without an artist)
What album if any the song is associated with
Length of the Song in Minutes and Seconds
Comments by the user about the song
Highest BillBoard Ranking song achieved
Date the Billboard Ranking was achieved
Song Writer's Name
Remember also that each song may be linked by to an album. If a Song appears on more than one album, there should be a separate Song record for each album. It is suggested that there be keys primary and appropriate foreign keys in the database. The exact implementation is left up to the student though.
The information that should be collected for each artist is:
Stage Name of Artist
Birth Name of Artist
Birthdate of Artist
Hometown information for artist
Death date of artist if deceased
Fun notable fact about the artist someone might find interesting
For each of these main items here, feel free to add to the list of information that is kept on each item.
NOTES ON DATA INTERACTION
Here are a few notes on how the data interacts.
A song must have an artist. You cannot have a song entered into the database without an artist. At the time the song is entered, the artist should already be in the database.
Albums can have a special artist that reflects various artist contributed to the album. The songs on that album should related to an artist. If more than 1 artist shows up on a song, which is possible such as a duet or group, then each name of the artists needs to be on the single song page about that song.
Songs do not have to have albums. We will work on the idea that a song could have been bought singularly in some fashion.
You should not allow for the deletion of an artist who still has at least 1 song in the music collection.
If a song still shows up on an album, it too should not be allowed to be deleted. You will need to unhook a song from an album to allow it to be deleted.
Deleting an album should automatically delete all songs associated with it.
You should consider using tables and dropdown lists to decrease error possibilities. One such example is Genres of music. Have a list of Genres they can choose from when appropriate. A table could be used to keep track of all available genres to prevent spelling the genre wrong.
TESTING DATA
You will need to create testing data for this project yourself. There should be a minimum of 15 albums. Each album is to have between 7 and 12 songs. Each number of songs between 7 and 12 is expected to be represented. That means at least one album with 7 songs, one with 8 songs, one with 9 songs, etc. You can create more data if you so desire. There should be at least 10 different artists represented. Have at least 1 album utilize the various artists feature. Remember to test adding and deleting from the music collection as well as editing.
WIRE FRAME REQUIREMENT
You will need to create and submit as part of your project a wire frame or similar document showing how the pages call and interact with each other. Which pages connect to one another. Make sure that these connections show on the wire frame document as well as the web pages you create. This document is separate from the document that you create for the screen shots and should be labeled as such.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started