0% found this document useful (0 votes)
4 views5 pages

CSY2089 Ddsdassignment 1

The CSY2089 Web Programming assignment requires students to create a database-driven website using PHP and MySQL, which accounts for 75% of the module's assessment. Students must build a site for a local electronics show, allowing employees to manage product listings and customer inquiries, while adhering to strict submission guidelines and academic integrity policies. Additional functionality can enhance grades, but all basic requirements must be met for a passing score.

Uploaded by

rajpathiku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views5 pages

CSY2089 Ddsdassignment 1

The CSY2089 Web Programming assignment requires students to create a database-driven website using PHP and MySQL, which accounts for 75% of the module's assessment. Students must build a site for a local electronics show, allowing employees to manage product listings and customer inquiries, while adhering to strict submission guidelines and academic integrity policies. Additional functionality can enhance grades, but all basic requirements must be met for a passing score.

Uploaded by

rajpathiku
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

CSY2089: Web Programming

Friday, 1st Sunday, 26th January 2024


Date of Issue Last Date for
December 2023 23:59:59
Submission:

Module Tutor: Thomas Butler

This assignment is weighted as 75% of the Module's assessment

Assessment Feedback is provided on the rubric via NILE

Submission Information – Please read carefully

1. The University of Northampton’s Policy on Plagiarism & Mitigating Circumstances will be strictly
implemented.

2. This is not a group project, by submitting this assignment you are asserting that this submission is
entirely your own individual work. You may discuss the assignment with other students but any
code written should be your own. Sharing your work with another student, or submitting code
that was written by someone else may be deemed academic misconduct.

3. If you have used any code that you did not write you must provide a reference, with a link where
applicable as a comment at an location you have used code you did not write.

4. You must supply both items of assessment and upload them to the correct submission points. All
work must be uploaded to turnitin
ii. Source code (zip file). The marker must be able to download and run your code.
iii. Source code word document (uploaded to turnitin)

5. The website must be built using the docker environment we use in class. The marker must be able
to run `docker-compose up` and access your website without any additional steps needed to get it
running.

6. The website must use the layout supplied.

7. You must only submit work you wish to be marked. If your zip file contains more than one version
of your code it will be automatically be graded F-. This is because in a previous year a student
uploaded the following folders inside their zip:
◦ TERM_1and2/assignment1
◦ TERM_1and2/assignment1_[studentnumber]
◦ websites/assignment
◦ websites/assignment1
◦ websites/assignment_[studentnumber]
◦ as1_1
Each containing a different version of the website and subsequently complained when the “wrong”
one was marked. As such, to simplify the marking process, if your zip file contains more than one
copy of your website it will be graded F- as an invalid submission.

Please make sure you double check all submissions. It is your responsibility as a student to ensure these
rules have been met.

Failure to follow the submission rules will result in a capped grade of F-.

If the marker has any questions you may be asked to attend an online viva which will count as part of the
assessment where you will be asked questions about your submission, failing the viva will result in a fail
grade.

CSY2089 Web Programming


PHP & MySQL Assignment 1

Ensure you have read this brief carefully and thoroughly before attempting to start the
assignment.

Aims & Objective


The purpose of this assignment is to assess your ability to create a database driven website using PHP
and MySQL.

Brief
You are a back end developer working for web development agency. A local electronics show wants you
to build a website which can be used to advertise products for sale. The front end developer has supplied
a HTML layout with the relevant CSS and Images, this has been signed off by the client and should be
used for every page of the website. The contents of the pages will differ but the overall layout (header,
footer, banner images) will appear on every page.

Your task is to implement functionality into the website and allow employees at the electronics shop to list
products for sale on the website. The shop employees have basic computer usage skills but are not
programmers, amending the contents of the website should not require any programming ability.

Employees will be able to log in to a secure administration area and add new products to the website,
providing a name, price, description and manufacturer.

You do not need to implement any online purchasing functionality but products must be visible to
customers. Customers will be able to select a category e.g. “TVs” then see a list of products in the chosen
category. Once presented with the list of products they should be able to select a product from the list to
see more information about it.

In addition to the information about the product (name, price, description, manufacturer) customers should
be able to ask a question about a product on the product’s page. Each product will have its own set of
questions and answers visible on the product page.
Employees should then be able to answer questions. Both questions and the answers should be visible
on the product page and both questions and answers should show the date/time they were posted and
the name of the person who posted the question and the name of the employee who posted the answer.

Employees should be able to see a list of unanswered questions in the administration area so they know
what needs to be responded to and respond to any questions which have been asked.

You must implement the following basic functionality:

1. A secure administration area where shop employees can:


a. Add products to the website. Each product should have a name, description, manufacturer
and price. (
b. Add categories (for example TVs, Games Consoles, Smart Home Devices, etc)
c. Assign products to categories
d. See questions which have been asked by customers and respond to those questions
e. Filter questions to show only unanswered questions
2. A public facing website where customers can:
a. Browse the products posted on the website by their category using the drop down menu (as
shown in the supplied layout)
b. Ask a question about a product by filling in a form on the product page
c. View all questions which have been asked about a product on the product’s page
d. On the web site home page view the latest 10 products which have been added to the
website

All basic functionality must be completed for a pass grade.

To improve your grade additional functionality can be implemented:

1. Allow admin users to create new admin users and automatically associate answers to questions
with the user who answered the question.

2. Allow customers to register an account and log in, they should be able to see a list of all the
questions they have asked (regardless of product) and all the employee responses to their questions.
When a customer asks a question they shouldn’t need to enter their name as it will be stored as part
of their account.

3. Add the ability for employees to upload a photo of the product when it is added to the website. The
photo should then be visible on the product page.

4. Enable email notifications for questions and answers:


a. When a question is asked an email is sent to all administrators informing them there is a
new question awaiting an answer
b. When an employee responds to the question automatically email the customer with the
response (the answer should still also appear on the website)
n.b. to test email functionality any email sent from the docker environment is visible on
https:///mail.v.je it is not sent as an actual email

5. To prevent spam allow moderation of questions: questions from customers should not appear on
the public part of the website until they have been approved by an employee in the admin area.
Please note: partial marks are not available for additional functionality, you must complete everything
from a bullet point to get the mark.

Deliverables
1. A very short report. This can be a word document or text file and should be included in the zip
from (2) and contain:
a) A checklist of requirements and indication of which have been completed. Copy/paste both
the basic and additional requirements above and put “Yes”, “No” or “Partial” next to each to
show whether you have completed them.
b) The URL to the admin login page e.g. `https://as1.v.je/adminlogin.php`
c) A valid username/password to log in to the server.
2. A zip file containing:
a) All source code
b) The report from (1)
c) database.sql generated from the server. Run `docker compose down` and this will be
generated in the websites directory.

3. Source code word document. Copy and paste all php files into a single word document and
upload it to turnitin.

If the marker cannot run the docker-compose up command and view your website, your work
will be capped at F-.

Marking Criteria
The grade for this assignment will form 75% of the overall assignment grade for the module.
The rubric below gives an indication of how the marks are split. In general the following
criteria will act as a guide to what you should expect:
A B C D F G

Functionality (50%) All basic requirements met plus All basic requirements met plus All basic requirements met plus All basic requirements have Basic requirements not met No submission or no
all five additional requirement three additional requirement one additional requirement been met or submission of merit
Code does not run on the docker
environment we are using
or
Missing report

Code quality (50%) Everything for B plus use of Everything for C plus single Correct use of template files Code works but not attempt has Code submitted does not work as No submission or no
namespaces and autoloaders entry point and controllers for and database abstraction. been made to reduce repetition intended, contains many bugs or submission of merit
throughout. all pages on the website. or reusability. errors.
Database abstraction logic
should be reusable on any
website and template files
should not contain queries or
anything that ties them to a
specific data source

You might also like