The basic purpose of the site is to allow a collector to proudly display their collection and to present material pertaining to the nature of the collection. The actual type of item(s) and the extent of the detail presented in the collection itself is your choice. Some possibilities are stamps, coins, sports cards, CDs, DVDs, comic books, autographs, etc. For example a comic book collector who specializes in Superman comic books might present material pertaining to the history of Superman in comic books and elsewhere. A CD collector who specializes in the Blues might present material pertaining to Blues influences in current music, and so on. In other words there should be some broad material presented that is related to the nature of the collectible or some strain of the collectible. This additional material is presented to broaden the site and its appeal to others rather than simply display the collection. Of course it is expected that the overall site is pleasant and that the various pages have a stylistic consistency. It will also allow the collector to keep track of their collection as a result of the database component. In the future they might want to build a shopping cart around the collection but that is not a part of the present site. As part of the assessment will be based on the perceived effort put into the site you should not diminish the additional material beyond presenting the collection itself.
The front end public site should be visually attractive and based on HTML 5 semantic elements, whereas for the back end the functionality is more important and the appearance is less important. A pleasant looking back end which is functionally flawed will not be viewed upon as favourably as a bland but solid back and. The front end will provide the opportunity for anyone to learn about the field, and to browse through or search your specific collection. The nature of searches possible will of course depend on the underlying content and any classifications you decide to incorporate in the database. Classifications with a DVD collection could use genre, or director, or country of origin, etc.
For each item in the collection there will be a picture of the item along with a number of fields pertinent to the nature of the collection. For example, CD data might contain the title, the artist(s), the number of songs, the playing length, the year it was released, the producer, the condition of the CD, etc. For coins it might contain the denomination, the year, number minted, condition, etc. Each collectible will have its own pertinent fields. As mentioned above there would normally be one or more fields (foreign keys) identifying some sort of classification. For example comic books could have title as a sub-category, such as Superman, Action comics, Batman, Wonder Woman Spider-Man, etc. DVDs could have genre as a sub-category, and so on. You should also have a default image for items in the database that do not have a current image.
The public part of the site will allow the person to browse the collection by viewing a number of items on a page, or to browse by a sub-category again viewing a number of items on a page. You might consider providing some ordering criteria as well. Any presentation of s category must be presented via a reasonable interface element such as a menu. For those fields which have fixed choices you should use an interface element to input or change them rather than use text fields. For example, denomination in coins whould come from a database table that stores the possible choices, and this data should be used to populate a menu or set of radio buttons, etc. Of course some fields will be text-based but try to keep these to a minimum. Be as creative as you wish and for which the available time makes it possible.
The administrative back end will require login as mentioned. The username and hashed password must be stored in a table in your database. These can be static in a table in your database. You may allow new users to be added from the back end if you wish, along with password changes and user removal, anticipating the support of multiple users in the future, although this is not required. All users would have the same capabilities. Once login has occurred the site will allow new items to be added, existing items to be deleted, and existing items to be edited. You should use PHP upload as shown in class for the upload of the appropriate images. The images will be stored in a directory, and the image file name will be a field in the row for the item in the item table.
Your web pages must be kept organized in a directory named Project that exists within your public_html directory.
NOTE1: You are well advised to plan out the look and feel of the site before you consider any implementation. You will save a lot of time in implementation if you adopt this approach.
NOTE2: You must password protect your site using the htaccess method as covered in class.
NOTE3: Your site MUST be stored on sandcastle. Sites that are external to sandcastle will NOT be considered. NO exceptions!!
The project will be assessed on the following considerations:
Submissions should be made in accordance with the assignment guidelines and not in violation of the regulations on plagiarism.