ITEC 334 Fall 2011
Online Application Development

Implementation Project (IP)

Please see IP alternative

To be done INDIVIDUALLY

Last Updated 19/19/11 (clarified text for deliverable 2)

Description

The main goal with this project is to provide students with hands-on experience on the implementation of a web business application online. Students will develop an online application throughout the semester and will need to deliver a working application at the end of the semester. The project will have deliverables due throughout the semester. Each deliverable will closely parallel related lab work and homework. For example, the database design for the implementation project will be due shortly after the database design homework is due. This is intended to help students put to practice immediately what they just learned in the classroom and lab.

Main Requirements

This project will be relatively simple but should illustrate the necessary steps that need to be taken to develop and implement an online business application. This is entirely a hands-on exercise. The minimum requirements for the project are:

  1. A login screen to access the application. The login screen needs to process a login ID and password for user authentication.

  2. A main menu with options to enter, update, display and delete data in various tables.

  3. A database with at least 5 tables loaded on a web hosting service provider (facilitated by the instructor but students can opionally use any web hosting service of their choice). At least 2 of these tables must contain important transactional data. At least one of these tables must be a lookup table. The remaining tables can be either main data, lookup or intersection tables.

  4. HTML code and server-side scripts to display data from each of the 5 tables. As follows:

    1. The display for main transactional data tables should be for a single "user-selected" record. For example, if one of your tables has client data, you will need a prompt or picklist for the user to select the client to display. Upon selection of the client, the application needs to display that client's record.

    2. The display for pick lists or reference tables should display a listing of all records.

    3. The display for intersection or any other tables can be either for a single record or all records, which ever makes more sense for you application.

  5. HTML forms and necessary server-side scripts for data entry into at least 3 of the 5 tables. The 3 tables you select should be the ones that contain the most important transactional data in your application.

  6. HTML code and server-side scripts to delete data only from all tables without a delete restriction (i.e., not affected by a delete:restrict rule in your database design -- MS Access will not allow you to delete data in tables that have a delete:restrict rule associated with a relationship). The delete function must apply on a single user-selected record (not a range of records). If the database has more than 5 tables, the application only needs to delete data from 5 tables (the most important ones).

  7. HTML forms and the necessary server-side scripts to change (i.e., update) data in at least 2 of the 5 tables. The 2 tables you select should be the ones that contain the most important transactional data in your application.

  8. At least 2 client-side scripts written in JavaScript. At least one of these scripts must be for input control or quick calculations in data forms and must be developed by the student. The second script can be for either input control, quick calculations or special display effects (note: special displays can be implemented with JavaScript code downloaded from publicly available sources, but the source must be noted in the script).

  9. Use of cascading stylesheets (CSS) in all visible pages.

  10. An "about" page. You will use this page to provide your users with all the necessary information to try and use your application (e.g., test user ID, password, brief overview of the application, special issues that require explanation, etc. IMPORTANT: it is impossible for your professor to remember all passwords and special issues for all students. You MUST provide all the necessary information for the professor and TA to test your entire site and be able to grade it.

  11. Optional "extras" page. Many students want to develop additional functionality and features to their sites. This is highly encouraged and if the functionality is meaningful it may receive extra credit points. If you would like to do this, please create a separate page with links and explanations to all your extra work, so that your required work is graded separately first. It is difficult to distinguish required from extra work when these are comingled.

IMPORTANT: the instructor will provide you with many script templates that contain most of the functionality described above. Your job is to develop your own scripts and/or adapt the ones provided by your professor to implement this functionality with your specific database. If you adapt the instructor's scripts, it is very important that you give your application your own look and field. That is, any template adopted from the professor or other sources must have a fair amount of modification and customization done by the student. Applications that have too much resemblance to the instructor's scripts in terms of format, layout and colors will not be evaluated favorably. The idea is for you to adapt the functionality of the application but give it your own look and feel so that it becomes YOUR application.  

Grading Criteria

While the final project delivery weights more heavily on your IP grade, the timely submission of quality deliverables throughout the semester is very important. This is a project that most definitely CAN'T be completed last minute. You will need a lot of planning up front and steady progress on your work. Also, the project will be graded based not only on functionality, but also on intuitive interface and professional appearance. More specifically, this are the grading components for the IP:

  1. (20%) Timely high quality deliverable progress

  2. (50%) Functionality -- all links, displays, inserts, deletes and updates work properly
  3. (10%) User interface -- intuitive navigation, user friendliness, etc.
  4. (10%) Attractiveness -- business-like appearance, good color contrast and fonts, visually appealing
  5. (10%) Final presentation and demo -- well presented, everything works, etc.

Deliverables

IP-Deliverable 1: Application proposal (2-page double spaced max) describing the application to be developed. The proposal needs to be approved by the instructor.

IP-Deliverable 2: Using the Prjxx.mdb file I placed in database folder in your FTP account (which you had to download), develop and upload the MS Access database for your application. Again, it is important that you do all your work in the database file I already provided and that you leave the _test table provided in it without changes. I need this table for periodic testing of our accounts. Your database needs to have all the necessary tables described in 3 above with all the necessary primary keys, foreign keys and relationships. You should also enter at least a couple of test records in each table. The table needs to be uploaded back in the database folder of your FTP account.

IP-Deliverable 3: This deliverable is intended to help you get started and begin prototyping your application. Develop and upload to your FTP account the web hosting service the following:

IP-Deliverable 4: Further develop and upload all the necessary data entry forms consistent with your database design and using picklists (this is always a good thing to show your clients at early stages of the development cycle). Further details:

IP-Deliverable 5: Develop the necessary server-side ASP.NET scripts to display data from the required 5 tables. Suggestion: since you have already created HTML forms for data entry into 3 transactional tables, you can copy these HTML forms into similar forms for data display. This way your data display will have a similar layout and look and feel as your data entry forms. For example, if you crated a data entry form called CustomerAdd.html to add customers, you can copy this file into another HTML file and name it CustomerDisplay.html. Then modify this HTML file to display data instead of input fields. This is a very common practice.

IP-Deliverable 6: Develop the necessary server-side ASP.NET scripts to enter new data into 3 tables and delete data from all tables that don't have delete restrictions. This is where you can use the data entry forms you created in Deliverable 3 and further refined in Deliverable 4. The action parameter in the form tag needs to point to the script that will process the data entry. For example, if you have a form called customerAdd.aspx that you created to enter data, the form tag in that script should say something like action="customerAddSubmit.aspx", which is the name of the script you would need to write to process the data insert into the database table.

IP-Deliverable 7: Develop the necessary server-side ASP.NET scripts to update existing data in 2 transactional tables. Naturally, each of these updates will require: (1) a script to capture from the user the record you want to update; (2) a script to diaplay the data in that record and allow the user to modify it; and (3) a script to process the modifications after the user clicks on the submit button.

IP-Deliverable 8: Class presentation. In your final work, you must include CSS in all your pages and have a total of at least 2 client-side scripts in JavaScript as described above. You will make a brief demonstration of your application to your classmates.