project
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
project [2011/11/15 15:19] – roumani | project [2011/12/02 04:42] (current) – roumani | ||
---|---|---|---|
Line 20: | Line 20: | ||
==== Use Case: A client makes a fresh visit ==== | ==== Use Case: A client makes a fresh visit ==== | ||
- | The relevant URL is '' | + | The relevant URL is '' |
==== Use Case: A client adds an item to the shopping cart ==== | ==== Use Case: A client adds an item to the shopping cart ==== | ||
- | The Cart servlet must react by displaying the content of the shopping cart. The display should be tabular with one item per row. The table columns display the number, name, and unit price of each item in a read-only fashion. In addition, there should be a writable column for the desired quantity and a read-only one for the extended price (defined as the quantity times the unit price). The display should also indicate a total, PST and GST (based on Ontario), a shipping cost ($5 that is waived for orders of $100 or more before taxes), and a grand total. The page has three buttons: Update (to refresh the calculated fields after editing a quantity), Continue Shopping, and Checkout. Notice that if the entered quantity of an item is zero then it should be removed from the cart. You need to also handle the case of negative or non-numeric quantities. | + | The Cart servlet must react by displaying the content of the shopping cart. The display should be tabular with one item per row. The table columns display the number, name, and unit price of each item in a read-only fashion. In addition, there should be a writable column for the desired quantity and a read-only one for the extended price (defined as the quantity times the unit price). The display should also indicate a total, a shipping cost ($5 that is waived for orders of $100 or more before taxes), HST (13% of total, including shipping if any), and a grand total. The page has three buttons: Update (to refresh the calculated fields after editing a quantity), Continue Shopping, and Checkout. Notice that if the entered quantity of an item is zero then it should be removed from the cart. You need to also handle the case of negative or non-numeric quantities. |
==== Use Case: A client logs in ==== | ==== Use Case: A client logs in ==== | ||
- | Upon checkout or at anytime, a login form (normally transmitted over https) is served prompting for the client | + | Upon checkout or at anytime, a login form (normally transmitted over https) is served prompting for the client's account number |
==== Use Case: A client checks out ==== | ==== Use Case: A client checks out ==== | ||
Line 36: | Line 36: | ||
==== Use Case: A client visits the URL of a P/O ==== | ==== Use Case: A client visits the URL of a P/O ==== | ||
- | Upon confirmation of a P/O, the system stores its content in an XML file based on the PO.xsd schema. The name of the P/O file is derived from the account number of the client and the P/O number (a per-client serial number that starts at 1). For example, the the 3rd P/O of account number | + | Upon confirmation of a P/O, the system stores its content in an XML file based on the PO.xsd schema. The name of the P/O file is derived from the account number of the client and the P/O number (a per-client serial number that starts at 1). For example, the the 3rd P/O of account number |
In addition to the above use cases, it is recommended that your site supports the following uses: the ability to view the shopping cart from the catalog screen (i.e. without having to add an item); the ability to checkout from the catalog screen. | In addition to the above use cases, it is recommended that your site supports the following uses: the ability to view the shopping cart from the catalog screen (i.e. without having to add an item); the ability to checkout from the catalog screen. | ||
- | ==== Analytics and Cross Selling | + | ==== Analytics and Special Features |
- | Management wants to be able to determine the average time it takes a client to add an item to the cart and the average time between a fresh visit and checkout (in the same session). And on an ad-hoc basis, | + | Add support for the following: |
- | | + | |
+ | * Management wants to be able to determine the average time it takes a client to add an item to the cart and the average time between a fresh visit and checkout (in the same session). | ||
+ | * And on an ad-hoc basis, | ||
+ | * Add a search facility to enable clients to look for items. | ||
===== Analysis of Part 2 (B2B) ===== | ===== Analysis of Part 2 (B2B) ===== | ||
Line 55: | Line 59: | ||
* Tables '' | * Tables '' | ||
- | * [[http:// | + | * [[http:// |
Line 75: | Line 79: | ||
===== Deliverables ===== | ===== Deliverables ===== | ||
- | You need to deliver three things | + | There are two deliverables: |
+ | |||
+ | - A Project Report (described below) | ||
+ | - A war file (make sure it includes source files) | ||
+ | |||
+ | These need to be delivered | ||
+ | |||
+ | - Submit both by issuing the command: '' | ||
- | * Hand in a paper report | + | - Upload the war to '' |
- | This can be done after class or to the Department Office | + | |
- | * Submit the report and source files | + | ==== The Report ==== |
- | | + | |
- | * Upload a WAR webapp | + | The report is meant to describe |
- | Create a war file of your webapp and upload it to the project's port number. You create | + | |
- | The report is meant to describe your execution of the project to someone who is familiar with the project, e.g. a fellow student who is also executing the same project and writing a similar report. Hence, the report should | + | The report should be packaged as one document (pdf or docx); should have page numbers; |
- | - Design: Describe your system' | + | |
+ | | ||
- Implementation: | - Implementation: | ||
- | - The Team: Provide the cs# and name of each member of the team and indicate the contact person in case there are questions. It is essential that you explain how the work was divided and how was communication and consistency maintained. Include here the main lessons that were learned from this project. | + | - The Team: Provide the cse# and name of each member of the team and indicate the contact person in case there are questions. It is essential that you explain how the work was divided and how was communication and consistency maintained. Include here the main lessons that were learned from this project. |
- | | + | |
- | - The Source Code: Provide listing of all programs (including jspx, tags, xsl, web.xml, etc.). Partition this section into subsections, | + | - The Source Code: Provide listing of all programs (including jspx, tags, xsl, web.xml, etc.). Partition this section into subsections, |
project.1321370360.txt.gz · Last modified: 2011/11/15 15:19 by roumani