CSIS0521 Concepts and Tools for
Software Development
Assignment 3


Due Date: Dec 15, 2006.


Online Booking System Part II

  1. In this assignment, you are going to implement the remaining parts of the booking system. You should design the MySQL database for this purpose. One suggestion is that you will have a booking database and a user database. The booking database will contain information on the date, time, and who booked the court. The user database will contain userid/password and the actual name and contact number of the user.

    1. Modify the month view to include the following:

      1. If the date is in the past, do not put any link to the dayview.

      2. Display the number of free timeslots available on that day (on the bottom left corner, for example).

    2. In your dayview.php script,

      1. for any slot that has been booked, you will have a "view" button in place of the book button. Clicking this button will display the detail of the booking.

      2. At the end of the page, there are 3 buttons,

        1. "OK" button will go back to the dayview,

        2. "Delete" will show a password box for the user to enter the password. If the password is correct, the booking is deleted from the database, and a new dayview will be displayed.

        3. Finally there is an "Update" button. This button will show an html form, with date (in the form of selection list of year (from 2006-2008), month and days, with the original date pre-selected), time (the original time preselected), and box for userid and password.

        4. There is a "Update" and a "Cancel" Button.

        5. You have to check if the new date/time slot has been booked. If the slot is booked already, show an error message and return to the dayview.

        6. Otherwise, update the database, and show the dayview of the new date afterwards.

      3. For the "Book" button, you will show a page similar to the "Update" page, with nothing preset.

  2. [Scaled down version, with maximum score of 75] No change in the month view. No password checking is needed, the only user information is the userid. Hence one single table will be enough. No Update is needed. Only Book, View and Delete is needed. View will show the userid, instead of the name and contact phone number of the user.