Applied IT Programming
Lab Assignment 4 | Arrays, Structured Query Language, MySQL
Social Networking 101
For this assignment, you need to design and implement a social networking component that allows users to comment and denote when they have visited your web site. Such functionality is fundamental to many social networking sites such as Facebook. As a component of a social networking site, there is potential to incorporate this into many social sites while adding to it to create an extensive feature set. You will develop two versions of this component, one that uses a text file (for the first submission point), and one that uses a database table (for the final submission point). Both versions will be submitted as part of your final submission.
Design Requirements
Create an application that allows users to comment on a static posting that you provide. In one version, the user’s name, contact information (e-mail address), and comment will be saved to a single text file. In the other version, the same information will be saved to a database table.
Include functionality that allows anyone to view who has visited the site and left comments. While the comments will automatically be displayed by date (as this is how they are saved to the text file and database table), allow the viewer to sort comments in ascending and descending order (by name) to more easily find a comment. Do not allow users to comment more than once to the posting. In doing so, prevent duplicates from being saved to the text file and/or database table. You will want to plan how to save data to the text file and database table for easy retrieval.
To get started, create an XHTML document that will serve as a main page where you can enter your information and comments. This page should also provide the ability to get to the other existing comments on the posting. Upon providing a comment, you should acknowledge the addition of the entry by showing what values were added. You should also allow a different user to add an entry.
Below is an example of the main page and acknowledgement output you should have before formatting:
If the user has already commented on the posting, you should let them know that you don’t allow more than one comment by the same user. Below is an example of the notification page output you should have before formatting for duplicate entries:
Below is an example of the posting comments page output you should have before formatting:
When the user views the comments on the posting, they should have the ability to sort the results in either ascending or descending order. For the text file version, this should be done using an indexed array that re-indexes depending on the sort order chosen. For the database version, you should use SQL to do the sorting. No matter where someone is in your web site, you should always provide a way to return to the main page where a new user could add a comment to the posting.
In addition, you should allow a user to specify the index number of any user’s comment information they wish to delete. This functionality should be implemented in both text file and database versions. While this feature would traditionally require administrator authentication, you can keep it simple and allow any user to delete any existing entry. Upon deleting an entry, you should re-output the posting comment page showing the remaining entries renumbered.
Notice that on all applicable pages while the email address does not show, the name is hypertext linked to their email address using a XHTML mailto: link. As shown in the comments page example, selecting the user name hyperlink should provide an email link to the email address of commenter.
Constants should be used for values that do not change, and variables for values that change during the course of execution. You should include Last Modified Date information on your pages. This should be provided dynamically by using the built-in date()function within the getlastmod()function.
Your application should be laid out in the Lab Content area of your web site. When laying out your web page, you should retain the common navigation and structural components (header and footer) of your website even though not shown in the image. This will require you to incorporate the SSI file references in this lab assignment as you did on previous the lab assignment. SSI files should not be moved but rather you should provide the path to their original file location. The common navigation and structural components should present visual continuity across all the web pages of your website and should not shift at all when going from web page to web page. In addition, while the image does not demonstrate this, you need to include a working link on the main page of both versions to get back to your home page. Also, while the image does not demonstrate this, you will need a working link from the text file version’s main page to get to the database version’s main page.
For the text file main page, you should use a file name that will automatically load when a user specifies only the folder name in the URL. The file should be uploaded to your Lab Assignment 4 directory. Your XHTML file should be well-formed and created using a strict XHTML DTD. You can create the web page using any text editor (Microsoft Notepad, RogSoft Notepad+, Adobe Homesite, etc) that is not WYSIWYG capable (Adobe Dreamweaver, Microsoft Word, etc).
You should use XHTML for the content of all pages and CSS for the stylizing and positioning of each of the pages. Using an external .css file, add formatting of your choice to make the output more aesthetically pleasing. These styles should be implemented as part of the final submission points. While you should continue to use the external CSS you created for your home page, you should not modify or update the file. Your new CSS file should not conflict or modify the layout and positioning of earlier lab assignments.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of