31748互联网编程

31748
31748 / 32516 Internet Programming
Assignment 2:
An Online Car Rental System using AJAX and JSON
Due 11:59 pm, Friday 14 May 2021
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 JSON Object
  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 a JSON file using JavaScript.
  4. Learn how to parse a JSON 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
  6. This assignment is done individually and it counts as 35% towards your final assessment.
  7. The website should be dynamic which means all the data are loaded dynamically from the
    JSON file. If the contents in the JSON file change (e.g., the mileage changes to 12354 for
    id=1), the pages should change as well.
  8. The vehicles available for renting can be divided into three categories: Sedan, Wagon and
    SUV. Each car to be stored in a JSON file is associated with the following 10 attributes:
    Category Availability Brand Model Model
    year
    Mileage Fuel
    type
    Seats Price
    per day
    Description
    sedan Y/N Toyota Camry 2013 10000 petrol 5 $120 xxxxxxx
  9. Car image samples are provided on the CANVAS
    You need to create a 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.
  10. Design a JSON file “cars.json” with the structure specified in requirement 3 and store at
    least 10 + car data items in the JSON file. Set up the availability state to “True” for 70%of
    cars in the Warehouse, and a “False” state to the other 30%. (80 marks).
  11. Use AJAX to load the JSON file “cars.json” and extract the data and save it as arrays in
    your webpage. (50 marks).
  12. 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.
  13. 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.json). 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.
  14. 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.
  15. 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)
  16. 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 direct the user to a page showing
    the delivery details and the cost. (40 marks)
    Figure 5. An example of the checkout page.
    Submission:
    You will submit the assignment details, including URL of the website and a
    compressed file containing all your source code through CANVAS 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/rul...
    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:

你可能感兴趣的