Introduction
In this assignment, you are required to develop a simplified on-line business portal (website)for a Car Rental Company: “Hertz-UTS”. The objectives of this assignment are as follows:

1. Learn how to design your own data structure, by which, you could form your own database using XML schema

2. Learn how to use AJAX technique to send and retrieve data from the web server asynchronously without interfering with the display and behaviour of the existing page.

3. Learn how to load an XML file using JavaScript or PHP.

4. Learn how to parse an XML file, extract the node values/attributes and store them in session arrays of your DHTML pages.

5. Learn the usage of session: how to set, update, delete and destroy the session.

Assignment Requirements

1. This assignment is done individually and it counts as 35% towards your final assessment.
2. The assignment must reside in a subdirectory of your ‘
public_html’ directory on ‘rerun’.
3. The assignment will be viewed using the latest version of IE.
4. The website should be dynamic which means all the data are loaded dynamically from the XML file. If the contents in the XML file change (e.g., the mileage changes to 12354 for id=1), the pages should change automatically.

5. The vehicles available for renting can be divided into three categories: Sedan, Wagon and SUV. Each car to be stored in a XML database is associated with the following 10 attributes:

               

6. An image folder are provided in the assignment 2 (“images/”)
The folder “images” stores the pictures for the cars. Each image is named according to the model of the car and the image types all are “jpg”.

         

                                Figure 1. The screenshot of the folder “images”. 

Assignment Specification

This assignment requires that you do the following steps.

1. Design a XML file “cars.xml” with the structure specified in requirement 5 and store at least 10 + car data items in the XML database. Set up the availability state to “True” for 70% of cars in the Warehouse, and a “False” state to the other 30%. (80 marks).

2. Use AJAX to load the XML file “cars.xml” and extract the data and save it as arrays in your webpage. (50 marks).  

3. Display the cars in a nice tabular format using the above arrays on your webpage for users to select. (50 marks) 

     
                            Figure 2. An example of displaying cars for selection on the webpage. 

4. Provide a “button” to add the car to the reservation “shopping cart”. Use AJAX to check the availability of the car after clicking the button (the field “availability” is included in cars.xml). If the availability is “True” then add the car to the reservation shopping cart and prompt success; If the availability is “False” then alert that “Sorry, the car is not available now. Please try other cars”. (50 marks)

       

                            Figure 3. Information prompted after clicking the “Add to cart” button.

5. Provide a button/link to view the reservation shopping cart. Display the cars which have been added into the reservation shopping cart (hint: use session to store the data). Users can set the “rent days” or delete cars in the shopping cart. (50 marks). 

         
                         Figure 4. An example of the reservation shopping cart. 

6. Provide the checkout button to check if there are cars in the shopping cart. If no, then alert “No car has been reserved.” and jump to the first page. If yes, validate the “rental days” (integer, >0) using JavaScript and navigate to the next page. (30 marks)

7. Design the checkout page which displays a purchase form asking the user to fill in their delivery details (name, email address, mailing address, city, state, post-code and payment type). All these fields must be completed for the order to go ahead. Validate the format of the email address. If all details are filled correctly, then send an email to the email address given in the form with the delivery details and the cost. (40 marks) 



      
                      Figure 5. An example of the checkout page.
   

                      Figure 6. An example of the confirmation email for car reservation.

Submission:
Your assignment web pages must reside on the machine ‘www-student.it.uts.edu.au’, in your ‘public_html’ directory.

You may submit the assignment details, including your name, student ID, URL of the assignment and a compressed file containing all your source code through the UTS Online after the submission link is activated, but prior to the due date.

Note that you need to submit both a live link (URL) pointing to your running system as well as all your source code stored in a compressed file (.zip). After the indicated deadline submissions will not be accepted! 

Collaboration/plagiarism
Students are reminded of the principles laid down in the "Statement of Good Practice and Ethics in Informal Assessment" in the Faculty Handbook. Assignments in this subject should be your own original work. Any collaboration with another participant should be limited to those matters described in the "Acceptable Behaviour" section. Similarly, any group work should be the result of collaboration only within the group. Any infringement by a participant will be considered a breach of discipline and will be dealt with in accordance with the Rules and By-Laws the University. The Faculty penalty for proven misconduct of

this nature is zero marks for the subject. For more information, see:

http://www.gsu.uts.edu.au/rules/16-2.html.

Further, copying of resources (e.g. images, blocks of HTML) from other web sites without acknowledgement of the source constitutes plagiarism, and is considered as unacceptable behaviour. While you should feel free to use other web sites for inspiration, you should not cut-and-paste "source code".

The exception to the above rule is web sites which make available free-to-download archives of images, scripts, etc. You should check any restrictions before using such material (e.g. many image sites require you to include a link back to their home page if you use their images). Further, for the purposes of this subject, you should also acknowledge the source of any such material by using a comment in your HTML file. For more information, see:

http://wiki.it.uts.edu.au//start/Academic_Integrity.