Part 1 – Create online seat reservation system for Wakatipu Boat Adventure [45 Marks]
You will develop an online booking system for Wakatipu Boat Adventure, using XML as external storage and using JSON to communicate with external APA. Weather is permitting, two boats are available for booking. User can pre-order simple meals/ snack during booking as well.
a) Provide documentation for your application. Make the document link available on landing page.
b) Consider the following criteria given below while developing an online booking system:
i. Load your boat data settings from XML files. Users should be able to specify a different number of people and select a date, time and boat name. Date range only from today and up to next 4 days. Booking time should be 10 am and 2 pm. Your booking page’s layout outline is up to you. Boat seats layout is given and should be used as presented on the next page (page 3). Please note it is not fully developed booking page, it is only a boat example, it is not demonstrating all requirements.
ii. Boat layout must be link to data from XML file (Boat name, rows, ‘number of seats’). This data is presented dynamically on booking page. Booking page is providing a popup information on “mouse over” for each seat.
i. Some seats have already been taken, so users cannot book them.
ii. Each seat price for first two rows is $30, for next three rows it is $25, and for the rest it is $20.
iii. Different boats can accommodate a different number of people. Each row and seat should have a unique number.
iv. During booking (if it is not for today), weather permission should be checked using external API. Booking allows if no rain and temperature is above 14 C. Weather condition should be taking from open API, please apply for your own API key. https://openweathermap.org/api. Weather condition for today should be displayed on booking page.
v. Populate Boat menu dynamically on the webpage. Menu must be link to data from XML file (image names, description, cost, special requirements)
vi. When populating each menu item layout consider the following:
1. User must be able to dynamically see a list of menu items. Each item has image, description, type indication (vegetarian, egg free, gluten free) and cost. You need to have as minimum 6 items on your menu.
2. User can select item and specify amount (for example: 2 Chicken sandwiches). Total for current selection should be display, that user can do informative choice.
3. If user wants to change their selection, the system should be able to update dynamically.
vii. On user confirmation (boat, seats numbers and menu selection) the booking system should calculate total price and provide a full statement/ list of selected items and seats number. Summary for booking should have: date, time, name of boat, seats number, number of people coming, menu selected and total cost.
viii. After booking confirmation is done, seats should be marked as unavailable/booked for that time and selected date.
ix. If user decided to add additional seat(s) for same day and booking time, his earlier selected seats should be marked as booked.
Tere Boat layout
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nui Boat layout
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Part 2 –Interactive online game [35 Marks]
You will design and develop an interactive web game for young children using HTML5 elements including Canvas.
Game story:
The main character is walking in the nature and try to catch and collect flying bugs. The main character’s design and look is up to you. It can be a person, or an animal (It will be called Mr X for now). Mr X’s task is to catch all bugs and avoid them as they try to attack Mr X’s. Every catch bug will get a score of one. If a bug land on Mr X, then a score will be deducted by one.
The story board for the game is as follows:
Game development requirements:
Character Mr X:
- Mr X movement is controlled by using the keyboard arrow keys (up, down, left, right).
- You should have additional key (for example “space”) to allow to move catch net.
- Catch net direction changes, when Mr X moves left or right. Each time Mr X changes direction the catch net should be in front of Mr X.
- Mr X movement is restricted inside the canvas.
- Every time Mr X successfully catch bug, a score of one is added to the current score and a ‘happy’ sound is played. However, if the bug touch Mr X, an ‘unhappy’ sound will be played and some image displayed and current score will be deducted by one.
- Define and implement Mr X animation (eyes movement, legs movement, tail movement, ears movement)