联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-05-24 08:28

Assignment 2:

An Online Car Rental System using AJAX and JSON

Due: Sunday 26 May 2024, at 11:59 pm

Introduction

In this assignment, you are required to develop a dynamic website with interactive features for a car rental

company. The website should provide a streamlined online car renting experience for potential users. It

should be able to handle various exceptions, such as input validation and change in car availability.

The website should enable users (i.e., potential customers) to

• Browse cars by type or brand,

• Search for cars using keywords,

• Check basic info and availability of a car,

• Make a rental request (reservation) for an available car,

• Cancel or confirm a rental order.

This assignment accounts for 35% of the total mark in the subject. You are required to complete this

assignment individually.

Objectives

• Learn about design of practical websites with rich interactive features for a specific application.

• Learn how to design customised data structures using JSON.

• Learn how to load, parse, and store JSON files using JavaScript.

• Learn how to set, update, and delete cookie and/or session.

• Learn how to use AJAX technique to send and retrieve data from the web server asynchronously

without interfering with the display and behaviour of existing web pages.

Visual Components

1) Website logo

There should be a logo for the website. The logo should appear on all pages of the website.

2) Search box

There should be a search box allowing users to look up cars by using keywords.

3) Car categories

Cars should categorised by type (e.g., Sedan, Wagon, SUV) and brand (e.g., Ford, Mazda, BMW).

Users can click a category (if non-empty) to view all the cars in the category.

Search box and car categories should appear on all except the reservation and order confirmation pages.

4) A grid view of cars

When multiple cars are shown on a page (e.g., the homepage, the page showing cars by category, or

search results), the cars should be aligned to grid (i.e., a nice tabular format).

Each car should show the key information, e.g., car model, image, price per day, and availability.

Beside each car, there is a button named “rent” through which users can enter the reservation.

5) Reservation

User can view the car that she/he intends to ren (car model, price per day) and edit the quantity to rent,

start date and end date of the renting, and the total price for the rental duration.

User can 1) cancel this reservation, 2) proceed to place an order for the car, or 3) simply leave this page. In the third case, the reservation information will be kept in Cookie/Session; so, the user can later resume

the previous reservation. When the user presses the “rent” button next to another car, the reservation will

change for making the rental booking for the new car.

User must provide name, mobile number, email address and valid driver’s license available to place an

order. All are compulsory for the order to be placed.

User can only rent one car model at a time.

6) Order confirmation

Once an order is placed, the page shows a web link which the user can click to confirm the order. The

rental order is not placed until the user clicks the Web link.

This confirmation will trigger an update of the JSON file and MySQL database.

Data Structures

• Design a JSON file “cars.json” to store information about cars. There should be at least 30 cars in the

JSON file. Each car should have at least 10 attributes (as shown in the table below). For each car, the

availability status should show to the user as either ‘Yes’ or ‘No’.

- The website should show car information by loading data from the JSON file.

- The total number of cars available for each car model should be 1, 2 or 3 by default.

Type Brand Car Model Image Mileage Fuel type Seats Quantity Price/day Description

sedan Toyota Camry 2013 xxx 10000 petrol 5 2 $120 xxxxxxx

• Design a MySQL table named “orders” to keep track of all rental orders. The table should consist of at

least such basic information as “user_email”, “rent_start_date”, “rent_end_date (inclusive)”, “price”,

and “status” to indicate whether the order has been confirmed by user.

Requirements

• Use HTML, CSS, JavaScript, AJAX and PHP to make an interactive website.

• Use Cookie, Session, JSON and MySQL to store information either temporarily or permanently.

• Use PHP to interactive with MySQL – You decide where to store images (database or the file system).

• We recommend that you use Cloud9 or a local IDE (e.g., Visual Studio Code) for development.

• You are required to deploy your website to Elastic Beanstalk for marking purposes.

Submission Process

1) Upload a zip file of your source code to Canvas, then click “Submit Assignment”.

2) Provide the URL of your website as a comment to your submission.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp