You are on page 1of 3

RMIT

Classifi
cation:
Truste
COSC2446 Web Programming d
Final Project (worth 40%)
Due date is the 27th of October 2023 COB (5:30 pm)

Continue to develop a website for a fictitious hotel – International Melbourne Hotel. You must
create a website that allows registered users to upload, edit and delete facilities for display. Users
not registered or logged in can view the site, but not add, edit, or delete facilities. View recordings
from the lecture/tutorials to see how to set up the database and how the site should function.

The general requirements are:

 set up a database (in XAMPP) using the provided SQL script. Your teacher will assess your
website using their own data, so you must ensure that you use the database and tables
provided. Using different tables or column names will lead to a fail mark for the assignment.
 Required pages are
o home page
o register page (form) and processing script
o login page (form) and processing script
o add page (form) to add a new facility (data and file upload to a directory called
images), with a processing script
o edit page (form) to edit a facility, with a processing script. This page also should have
a delete button that deletes the facility (you need another processing script for that)
o facilities page showing all facilities in tabular format
o details page showing all details for a selected facility
o gallery page showing all facilities or selected facilities
o user page showing all uploaded facilities for a chosen user

Additional requirements:

 All web pages are to be PHP, and use include() for common content. In addition, you should
have a separate CSS file (for styling not provided by Bootstrap) and a separate JavaScript file
(to implement the dropdown of facility categories and deletion confirmation).
 Use Bootstrap 5 for functionality and layout, such as responsive text on the home page,
responsive image carousel, and all other required functionality. If you use Bootstrap 4 or
below you will have 0 marks for several marking criteria.
 Use CDN for the Bootstrap and jQuery files.
 Use session management to include the name of a logged-in user in the database for any
facility they upload, and to ensure that only logged-in users can upload files.
 Uploaded files go to a subdirectory of your site called images.
 Your site must work with a database created from the provided script. If it doesn’t, your
work may not be assessed. Using different tables or column names will lead to a fail mark for
the assignment.

1
RMIT
Classifi
 The home page should have an image cation: carousel of fixed size (no large images, i.e.,
greater than 500px). The image Truste carousel should display the last four images
uploaded to the database. d
 The page gallery.php displays small versions of the uploaded images. You do not need to
create separate images for this, just resize the image that has been uploaded. Each of these
thumbnail images is a link to a page details.php that shows all detailed information about
that facility.
 The page gallery.php needs to be modified to filter facilities by configuration. The
configuration (database field) is intended to contain dynamic values, i.e., whatever users
add to the facility’s configuration field. They might be 1 king bed, Restaurant, Conference
room, etc. But not limited to these values. A dropdown on the gallery page displays all
categories from the database. When one selects one of the categories from the dropdown
menu, instead of all facilities only facilities of the selected category will be displayed on the
gallery.php page.
 The usernames of all users who have uploaded facilities will appear as hyperlinks in a
separate navigation bar (shown at the bottom of the site). Each link goes to a page user.php
which displays the facilities of that user only.
 The details.php page shows all details for a selected facility as in Assessment 2. If the user is
registered and logged in, they will see an “Edit” button on the details.php page, which you
must add. The button will lead to the edit.php page which can be used for editing or deleting
facilities.
 The edit.php page should only be accessible by logged-in users. On this page the logged-in
user can edit or delete a selected facility. Deletion of the facility needs to be confirmed.

2
RMIT
Classifi
cation:
Truste
Marking Guide
d
Teachers will ask for a demonstration of the project

Sr. No. Marking Criteria Max Marks


1 HTML is correct for each page. Screenshots of validation 3.5 marks
results for EVERY php page and the custom CSS file are
included in a file Test.docx
2 Each page has a banner, footer and navigation for the 1.5 marks
site (all added as separate include files)
3 Home page has image carousel of fixed size (no large 1 mark
images)
4 Image carousel shows last four images uploaded 4 marks
5 Each page has a navigation area for users who have 2 marks
uploaded files (data from the database) and links that
show facilities that the user uploaded (user page)
6 Register and login work correctly 2 marks
7 The gallery page shows all uploaded images at a reduced 2 marks
size in a grid, and each image is a link to detailed info
about that record (details page).
8 Gallery has a drop-down of facility configuration from 2 marks
the database. The page shows only facilities from the
selected type (or all if no configuration is selected)
9 Add and edit pages are only accessible to a logged-in 2 marks
user
10 Add new record works correctly. The images are 3 marks
uploaded to a folder called images
11 The edit page works correctly. All data can be updated. If 5 marks
images are replaced, the old images need to be deleted
from the images folder.
12 Deleting records is only accessible to a logged-in user 5 marks
and works correctly. Deletion of a record is done after
confirmation with JavaScript or a separate page. Images
are also deleted from the images folder.
13 Bootstrap 5 used on all pages. The site is responsive. 2 marks
14 CDN used for Bootstrap 5 and jQuery 1 mark
15 Session management implemented appropriately 2 marks
(navigation, login, add new record, edit, delete, user
messages)
16 All web pages are PHP, use include() for ALL common 2 marks
parts and have no errors
17 Site deployed to Jupiter, data to Jacob5 10 marks
Total marks 50 Marks

You might also like