2503ICT/7401ICT Assignment 2


Due date

Midnight, Sunday 19 May 2013

Weight

25%

Introduction

This assignment is a continuation of Assignment 1.

Your task in this assignment is to design and implement a database-backed Web application that models the main components of an online auction system such as eBay, using HTML, CSS, PHP, Smarty, MySQL and JavaScript. The application must allow users to register, login and logout, offer items for sale, update and delete items offered for sale, browse and search items offered for sale, and bid for items offered for sale.

It would be useful if you have not already done so to visit eBay, register, and explore it to familiarise yourself with its features.

Note

Do not change the structure or content of your Assignment 1 database tables. Do not change your Assignment 1 source code. Use new database tables for Assignment 2.

Before you start, copy your complete Assignment 1 directory assign1 into a new directory assign2, create new database tables (a2_categories and a2_items), and change all references to old table names in your solution to new table names.

Tasks

Your task in this assignment is to design and implement the main components of an online auction system such as eBay as summarised above. Specifically, your system, must provide the following features:

Other requirements

Implementation

The user interface must use valid HTML5 documents It must use CSS to separate HTML document content from presentation. The server-side scripting language must be PHP. Separate MySQL tables must be used for users, categories, items, bids, and possibly other information. The implementation must use Smarty templates to separate application logic from HTML presentation. It must use session variables to maintain application state (in particular, which user if any is currently logged in). It must use JavaScript or jQuery to provide document behaviour that enhances the user experience.

MySQL transactions must be used to ensure data integrity when required.

You must use good program structuring techniques as taught in Programming 2 and previously in this course. As a minimum, groups of related function definitions must be stored in separate definition files, PHP scripts must not contain any HTML content, all files must be properly commented and indented, all HTML and CSS files must be valid, and all definitions, images, CSS, JavaScript, etc., must be stored in separate subdirectories.

You must demonstrate that you can design and implement the application, using the tools and techniques described during the course. Howevever, if you find yourself implementing the same task repetitively, it may not be necessary; seek advice. Do not implement anything (significant) that is not requested above.

Suggestions

Start work now!

Design and implement your solution incrementally.

Start by designing your MySQL tables. This is a critical task. You may omit inessential attributes initially.

Then decide which documents or scripts you will need, whether they are forms, scripts that generate output, or (action) scripts that are executed only for their effect. Think carefully about where action scripts redirect to after execution.

Then design and implement PHP scripts corresponding to the page views and action scripts, testing after completing each script.

Then incrementally extend the database schema, set of scripts and implementation, and repeat.

Clarifications and more detailed suggestions will be given in lectures and laboratories.

Testing

Test your application thoroughly after implementing each new feature, and test it on at least two distinct browsers.

Documentation

Your submission will require written documentation together with well-commented source files, and possibly a demonstration of your application. Your documentation must be in the form of one or more HTML documents. It must:

Assessment criteria

We expect the structure of your application to be clear, simple, standards-conformant, validated, and well-documented. We expect the organisation and English in your implementation and documentation to be of high quality.

Assessment of your assignment will be based on functionality, implementation, documentation, overall quality, and submission details. We will award approximately 2 marks for submission and documentation, 4 for interface and interaction design, 15 for functionality and 4 for implementation.

7401ICT students are required to implement image management. 2503ICT students may implement image management.

Keep your solution simple. You will not get additional credit for doing more than was requested.

Bonus marks

2503ICT students will receive bonus marks for implementing image management.

All students will receive bonus marks for implementing a responsive design that works well on phones as well as on computer monitors.

Bonus marks will only be awarded if most other requirements are satisfied.

Submission instructions

Note. Read and follow the instructions below carefully. Marks will be deducted if you do not follow these instructions exactly.

Solutions must be submitted to and must run on dwarf.

When you are ready to submit, send a short email from your University email account to the following addresses :

This message must have following exact subject line (for our email filters):

WP Assignment 2 Submission

The body of this message must contain the following items, each on a separate line:

Other information