CSC309 Assignment #2
(due October 26th in tutorial)


Extend the Web site you created in assignment 1 to allow customers to dynamically configure a stereo cabinet and then order online.

You will be provided with a Java application that implements an interactive drag-and-drop approach to building modular stereo cabinets. You must modify this application for use as a client-side Java applet available to browsers of the site.

Once the customer configures a solution using the applet, an HTML page should be presented listing the modules required, the number of units of each module, prices, sub-totals, and grand totals. The page should be a form that allows users to modify the module list (change quantities, add new modules) without using the applet. The page should also provide a means of choosing the finishes on each piece as the applet does not support this functionality. If users wish, they should be able to bypass the configuration applet entirely to order pieces directly.

You should write JavaScript to verify all form entries, including performing consistency checks and warning the user if inconsistent modules have been ordered (e.g., more doors than can possibly be used). You should also provide the customer with an estimated shipping date based on the max shipping date for any module as given in the XML file required for assignment 1 (you will need XSLT for this). Once the customer confirms the order, provide forms that extract shipping and billing information from the customer.

Once all the information for the order is gathered, You will use JavaScript to create an XML document containing complete order information. For the time-being, simply display the XML document as raw ASCII text in the browser once the user hits the final 'submit' button. Later on in the course you will learn how to return this information to the vendor organization using server-side scripting.

Hand in the following items:

As well, your site must correctly build and function. Using the CDF submit command (submit -N a2 csc309h <files>), submit (all in one directory) the Makefile, the website files and the Java source files. The main entry page for your site should be called index.html. The Makefile's default target should build the Java applet from source and run any required XSLT. A 'clean' target should be supplied to remove any generated files. The TAs will run your websites using the following actions:

Good Luck!