Project Phase #6: Web-Enabled Dynamic Queries

This is your final deliverable for this project, asking you to write a web application that interacts with your database to manage your business. This application must allow the user the add records to the database, modify or remove records from the database, and extract specific information from the database, through a user-friendly form. The homescreen of your application should include add, modify, delete, search and browse options, which are described below.

CRUD (CReate, Update, Delete) Functionality

You will choose one major entity in your design as the target of the CRUD operations (i.e. insert rows into, update rows in, and delete rows from, a single table).

Add New Item. The user of your web application must be able to add a new item (a.k.a. row or record) to the database through the interface. Optional: This new item must be validated and, should a business rule be broken, the user informed of the problem. In other words, invalid data must never be inserted into the database. Once the item has been added, there must be some form of confirmation that the operation was successful.

Modify Existing Item. The user must be able to select an existing item to modify, and then make the changes through the interface. You may--and in fact are encouraged to--reuse the same form page used to add new items. However, in this case, the existing item data must be presented to the user in the form's fields. Optional: The same validation rules that were enforced for adding a new item must also apply to modifying an existing item, and the user must be alerted of any problems. Once the item has been modified, there must be some form of confirmation that the operation was successful.

Remove Existing Item. The user must be able to select an existing item and remove it from the database. No validation is necessary, but you may wish to confirm the delete operation with the user, before removing the item from the database. Once the item has been removed, there must be some form of confirmation that the operation was successful.

Search Form

Searching is likely the most typical action for a user. The user should be presented with a form to specify their search criteria, and based on the results of the underlying database query, will be presented either a list of matching records or a single matching record if only one was found.

The search form must include at least three criterion fields relevant to the records being searched. The logic will work as follows: if no criteria are selected (i.e. all criteria are optional) the search will list all of the records; if one or more criteria are selected then the search will list those records that match all of the criteria simultaneously. Pick one or two business entities as the target of your search, preferably from among the ones used in the previous (static query) phase of your project.

Browse Link/Buttons

The search form screen must include at least three browse links or buttons. Each of these links or buttons will execute a "pre-packaged" search, based on predefined search criteria. This browse feature must employ the same search logic as that used in the manual criteria search described above.

Changes from the Previous Deliverables

In this section, document changes to this project's design or scope from that described in the last deliverable.

If you made any changes to previous project deliverable, you must resubmit (re-upload) the modified versions showing the changes. In this case, please highlight the changed requirements in some way.