Need a simple web search page to interface and display info from a large database of music releases.
Requirements: highly prefer this to be written in Ruby on Rails. This is phase 1 of a much larger project, so I will need a developer (or team of devs) to use strong design methodology, and will properly document all code. If the Phase 1 implementation is of high quality, there is likelyhood I will use you for many follow up projects to further enhance the site.
I have a large database of over 700000 music album listing (with detailed info on each album). I want to create a simple webpage that will allow users to search the database and return a listing of the relevant finds. The data is currently structured in three tables (images can be provided showing the structure). The data will definitely grow in the future, and the schema may change slightly, so the code needs to be flexible enough to change as well. The database will be mysql.
The search page:
I can provide mock-up images of what I want the search portal to look like, but here is a brief description: There will be three varieties of "search by": artist, title, label. This will be similar to how [url removed, login to view] provides "Web Images Video News Maps" directly above the search bar. Each variety or search will return a view into all the results that match (for matches that extend beyond 20 results or so, there will be a series of numbered pages with hyperlinks to click thru the long search results (like any search en). You can also draw home page portal ideas from this screencast: [url removed, login to view]
The search form muct "auto suggest" as demonstrated here: [url removed, login to view] Based on which mode you are in (artist, title, or label), it will auto suggest against that field in the database. The search will be instantiated by clicking "return" in the search box, or by clicking on a "search" button directly to the right of the search form box.
The results page:
For an "artist" search results, the results will be all albums in the database associated with the artist. The user can choose to sorted the results either alphabetically, by release date, or be sorted by popularity of the albums (a field in the database). The default will be by release date. The results will show 1 album on each line. In the future I will want to show an image associated with the album on the left most side, so please design for that future capability. For now, the main info of each album (album name, artist, label, year, number of songs on the album, country where publised) will be populated as a seperate listing (like an ebay listing, but much cleaner and uniform)
For a "title" search results, the results will be all albums in the database that matched with the title search query string. The results will be default sorted by popularity of the albums, but can be re-sorted by date or alphabetical titles.
For a "label" search results, the results will display all albums released by that labels that matched with the label search query string. The results will be default sorted by date, but can be re-sorted by alphabetical or popularity.
I want the results of each search to populate much how the results from this screencast show the images populating (blinds down, and with a spinner as the user waits for the results). See end of this video: [url removed, login to view] This should look VERY slick and web 2.0 ish.
Clicking on a result:
Clicking on a specific result will take the user to a more detailed view of that specific release. More detailed info from the database will be presented, including all the songs on the release, and the other meta data. In some cases, the metadata or song data will including hyperlinks to other artist. When these hyperlinks are clicked, the result should be as if a search was performed on that particular artist. I may want to populate other parts of this page with feeds from other sources related to this artist or album (links to wikipedia, "buy from amazon" button, etc).
Return home button
At any time, the users can return the a fresh "home" page by clicking on an image or link on the top left of the any page (much like on [url removed, login to view])
Considerations for future:
In the future, I will want to add the ability to have users "register" and "login", so that they can create their own collections (sets of releases), rate items, socialize with other users, get music recommendations, and participate in forums. Please make design considerations to allow for this kind of growth in the site. Design in the capability to add banners or adsense boxes to the page in the future. Also need to allow for future capability to embed flash audio players (like [url removed, login to view])