Assignment #5
(optional)*
"Putting it all together"
Posted: Tuesday, November 19, 2002
Due: Demoed to me before Friday, December 6, 2002 at 1pm (absolutely
no late assignments accepted)
Marks: 9 (9% of your final mark for this course)
*Optional:
If you choose not to do this assignment, your mark will be calculated using
your marks for assignments 1-4. If you choose to do this assignment, your mark
will be calculated using your marks for assignment 1-5.
Partners:
You may complete this assignment individually or with one
partner. Both partners must understand all aspects of the code produced as I
will ask questions about your code when it is demoed to me.
Overview:
The purpose of this assignment is to bring together many
of the concepts covered during this course including HTML, JavaScript and Perl.
Your Task:
Create a mini-online store. You can sell any products,
just find some pictures on the internet of the products you wish to sell. Here
is what your online store must be able to do:
HTML (with JavaScript) Pages...
- Product pages
- Display several products with a picture, description
and price for each.
- Allow the user to select products and quantities of
these products to order
- this information is keep in a cookie for use on the
"order total page"
- Order total page
- Displays a summary of their order including taxes and
final price
- product quantities obtained from cookie
- taxes and total calculated using JavaScript
- Asks user if they wish to proceed with purchase, if
they select yes, go to the customer info page
- Repeat customer page
- Asks user if they have ever purchased before from
your store before
- if yes, they fill in a login name and password
- send name and password over a secure connection
to the server to look up in a user name and password file (text file
which must be able to contain several users and passwords, details
below...)
- if no, they click a button to proceed to Customer
information page
- Customer information page
- If user provides incorrect name and password, or if
they have never ordered before
- display form to allow user to enter information for
shipping and billing
- form includes: first name, last name, full
address, phone number, credit card number and expiry date
- If user has provided a correct name and password from
previous page
- display form with all user information filled in
from a file containing user information
- this information must be sent to the browser using
a secure connection
- When user clicks submit, you must
- verify that all information has been entered using
JavaScript before the form is sent
- if form is complete, send this information to the
server over a secure connection
- Confirmation page
- server send back over secure connection a unique
receipt number and note assuring the customer that their order was received
Text Files
- Pervious customer information
- holds names, passwords, and all user information for
several users
Perl Scripts
- Password verification and customer information
retrieval script
- receives a name and password, checks that it is
valid, if it is, sends back all customer information for this customer
as stored on the server for the customer information page
- Order receiving and confirmation script
- sends a confirmation number to the user
- ideally this script should write the order
information into an order text file as well as update the customer
information file, however, since we can't write from a Perl script to a file
on the server, we will not implement either of these features
Mark Breakdown:
- Product pages allow user to select among several
products [1 mark]
- Product selections keep in cookie and are displayed on
the order total page [1 mark]
- Order total page correctly calculates taxes and totals
using JavaScript [1 mark]
- Repeat customer page sends name and password securely
to password verification and customer information retrieval script [1 mark]
- Password verification and customer information
retrieval script looks up name and password, and send back all relevant
information to be displayed in the customer information page form. [2 marks]
- Customer information page allows all info to be entered
and sent securely to the order receiving and confirmation script [1 mark]
- Order receiving and confirmation script receives all
info successfully and sends back receipt message. [1 mark]
- Pages are well designed with consistent attractive look
(a style sheet would be nice, but is not required) [1 mark]
Demo For Marks:
You may demo your work to me during any CST8127 lab
between now and December 6th. No assignments will be demoed after December
6th. If you have completed this lab with a partner, both partners must be
present at the time of the demo.