Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COSC2446 Web Programming

Final Project (worth 40%)

Due date is 21st of October 2022 COB (5:30pm)                 

Continue to develop a website for a fictional shop that sells computer games – The World of Games. You have to create a website that allows registered users to upload, edit and delete digital games for display. Users who are not registered or not logged in can view the site, but not add, edit or delete games. View recordings from 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 game (data and file upload to a directory called images), with a processing script

o edit page (form) to edit a game, with a processing script. This page also should have a delete button that deletes the game (you need another processing script for that)

o games page showing all games in tabular format

o game page showing all details for a selected game

o gallery page showing all games or selected games

o developer page showing all uploaded games for a chosen developer

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 games categories).

· Use Bootstrap for functionality and layout, such as responsive text on the home page, responsive image carousel, and potentially other required functionality.

· Use CDN for the Bootstrap and jQuery files.

· Use session management to include the name of a logged in user in the games database for any game they upload, and to ensure that only logged in users can upload files.

· Uploaded files go to a subdirectory of your site called game_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.

· Home page should have an image carousel of fixed size (no really big images).  The image carousel should display last four images uploaded to the database.

· 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 game.php that shows all detailed information about that game.

· The page gallery.php needs to be modified to filter games by category. The category (database field) is intended to contain dynamic values, i.e., whatever users add for the game’s category field.  They might be like puzzle, simulation, horror, etc. But not limited to these values. There is a dropdown on the gallery page that displays all categories from the database. When one selects one of the categories from the dropdown menu, instead of all games only games of the selected category will be displayed on the gallery.php page.  

· The developer names of all developers who have uploaded games will appear as hyperlinks in a separate navigation bar (shown at the bottom of the site). Each link goes to a page developer.php which displays the works of that developer only.

· The game.php page shows all details for a selected game as in the Assessment 2. If the user is registered and logged in, they will see an “Edit” button on the game.php page, which you have to add. The button will lead to edit.php page which can be used for editing or deleting games.

· The edit.php page should only be accessible by logged in users. On this page the logged in user can edit or delete selected game. Deletion of the game needs to be confirmed.

· You can leave contact_us.php page unchanged. The form does not need to be submitted.

Marking Guide

Teachers may ask for demonstration of the project

Sr. No.

Marking Criteria

Max Marks

Obtained marks

1

HTML is correct for each page

3.5 marks

 

2

Each page has banner (implemented with jumbotron), footer and navigation for site (all added as separate include files)

1.5 marks

 

3

Home page has image carousel of fixed size (no really big images)

1 mark

 

4

Image carousel shows last four images uploaded

4 marks

 

5

Each page has navigation area for developers who have uploaded files (data from database) and links that show developer’s work (developer page)

2 marks

 

6

Register and login work correctly

2 marks

 

7

Gallery page shows all uploaded images at reduced size and each image is a link to detailed info about that game (game page)

2 marks

 

8

Gallery has a drop down of games categories from the database. The page shows only games from the selected type (or all, if no category is selected)

2 marks

 

9

Add and edit pages are only accessible to a logged in user

2 marks

 

10

Add new game process works correctly. The images are uploaded to a folder called images

3 marks

 

11

Edit game page works correctly. All data can be updated. If images are replaced, the old images need to be deleted from the images folder.

5

 

12

Deleting games is only accessible to a logged in user and works correctly. Deletion of a game is done after confirmation with JavaScript. Images are also deleted from the images folder.

5

 

13

Bootstrap used where appropriate

2 marks

 

14

CDN used for Bootstrap and jQuery

1 mark

 

15

Session management implemented appropriately (navigation, login and add new game)

2 marks

 

16

All web pages are PHP, use include() for ALL common parts and have no errors

2 marks

 

17

Site deployed to Jupiter, data to Jacob5

10

 

 

Total marks

50 Marks