Programming on the Internet Assignment 1:

Programming on the Internet
Assignment 1:
-An On-line Grocery Store with Graphic User Interface-
Due on: Tuesday 15 May 2018, at 11:59 pm
Introduction
In this assignment, you are required to develop a web site for a Grocery Store to run a grocery business on-line. This Grocery Store system is a simulated online grocery shopping experience. It is applicable to any e-commerce shopping application.
The products in the store for sale can be divided into five categories: Frozen-Food, FreshFood, Beverages, Home-Health and Pet-Food. The data pre-defined in a MySQL database is shown as below:
Attributes associated with each product:
(Table; products)
+—————+——————+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+—————+——————+——+—–+———+——-+
| product_id | int(10) unsigned | | PRI | 0 | |
| product_name | varchar(20) | | | | |
| unit_price | float(8,2) | | | 0.00 | |
| unit_quantity | varchar(15) | | | | |
| in_stock | int(10) unsigned | | | 0 | | +—————+——————+——+—–+———+——-+
Products available for sale:
+————+——————–+————+—————-+———+
| product_id | product_name | unit_price | unit_quantity | in_stock
|
+————+——————–+————+—————-+———+
| 1000 | Fish Fingers | 2.55 | 500 gram | 1500 |
| 1001 | Fish Fingers | 5.00 | 1000 gram | 750 |
| 1002 | Hamburger Patties | 2.35 | Pack 10 | 1200 |
| 1003 | Shelled Prawns | 6.90 | 250 gram | 300
|
| 1004 | Tub Ice Cream | 1.80 | I Litre | 800 |
| 1005 | Tub Ice Cream | 3.40 | 2 Litre | 1200 |
| 2000 | Panadol | 3.00 | Pack 24 | 2000
|
| 2001 | Panadol | 5.50 | Bottle 50 | 1000
|
| 2002 | Bath Soap | 2.60 | Pack 6 | 500
|
| 2003 | Garbage Bags Small | 1.50 | Pack 10 | 500 |
| 2004 | Garbage Bags Large | 5.00 | Pack 50 | 300 |
| 2005 | Washing Powder | 4.00 | 1000 gram | 800 |
| 2006 | Laundry Bleach | 3.55 | 2 Litre bottle | 250 |
| 3000 | Cheddar Cheese | 8.00 | 500 gram | 1000
|
| 3001 | Cheddar Cheese | 15.00 | 1000 gram | 1000 |
| 3002 | T’Bone Steak | 7.00 | 1000 gram | 200 |
| 3003 | Navel Oranges | 3.99 | Bag 20 | 200 |
| 3004 | Bananas | 1.49 | Kilo | 400 |
| 3005 | Peaches | 2.99 | Kilo | 500
|
| 3006 | Grapes | 3.50 | Kilo | 200 |
| 3007 | Apples | 1.99 | Kilo | 500 |
| 4000 | Earl Grey Tea Bags | 2.49 | Pack 25 | 1200 |
| 4001 | Earl Grey Tea Bags | 7.25 | Pack 100 | 1200 |
| 4002 | Earl Grey Tea Bags | 13.00 | Pack 200 | 800
|
| 4003 | Instant Coffee | 2.89 | 200 gram | 500 |
| 4004 | Instant Coffee | 5.10 | 500 gram | 500 |
| 4005 | Chocolate Bar | 2.50 | 500 gram | 300 |
| 5000 | Dry Dog Food | 5.95 | 5 kg Pack | 400 |
| 5001 | Dry Dog Food | 1.95 | 1 kg Pack | 400
|
| 5002 | Bird Food | 3.99 | 500g packet | 200 |
| 5003 | Cat Food | 2.00 | 500g | 200 |
| 5004 | Fish Food | 3.00 | 500g | 200
|
+————+——————–+————+—————-+———+
32 rows in set (0.01 sec)
This assignment consists of four components. You can work in a group of two students but each student should do 50% of the work involved in preparing the group assignment. You may also work on your own if you wish to. This assignment counts as 40% towards your final assessment.
Objectives
1. Learn about the design of professional (advanced) Web pages
2. Learn about real-life Website design, including hierarchal structures for navigation.
3. Learn how to use graphic tools for creating clickable rollover image maps
4. Learn how to design customised presentation (layout) of Web pages
5. Learn how to use server/client side scripting languages for creating dynamic Web pages
6. Learn how to use PHP & MySQL for reading, writing and verifying data
7. Learn how to create an e-commerce application using a combination of scripting languages, descriptive languages, development tools and backend databases.
Window Layout
The browser window is divided into three frames, the Left Hand Frame, the Top Right Hand Frame and the Bottom Right Hand Frame, as shown below:
Contents
The main focus of our on-line shopping project is to allow customers to visually search/browse for products available in the shop and then display the details of chosen products. Customers can add chosen products to a virtual shopping cart and when they wish to complete the shopping, they can checkout by filling an on-line Purchase Form that asks for the delivery of details and email address. Once the Form is filled out, the customer can complete the order by clicking on the -Purchase- button. The details of the order are then sent via email to the email address given on the form as a confirmation of the order.
There are four components in this project. These component will display in one of the three frames of browser’s window. The four components are :-
1. The left hand frame displays a Visual (e.g. an Image Map) Browser. The Visual Browser shows the category hierarchy of products available in the shop. The default image only shows two levels of the products hierarchy.
When the mouse pointer moves over a particular category node then the image displayed changes to a more detailed graph, showing the substructure of this particular category. At the lowest level of the hierarchy individual nodes are -live- i.e. they represent particular products and they are live links to a php file.
When a user clicks on a particular “product node” it will bring up a php file showing the details of the product in the right top frame.
2. The top right frame is a web page generated on the server side by a php script. It retrieves the appropriate product entry from the MySQL products table and then displays selected attributes of the product in a web page generated by the script. Each product displayed has an -Add- button which adds the selected product to the user’s shopping cart, which is displayed in the bottom right hand frame.
3. The bottom right hand frame displays a Virtual Shopping Cart, showing the user how many products that are already chosen and the total value of their selections so far. Users can empty the shopping cart (i.e. clear all selections made so far) by clicking on a -Clear- button. Users can also complete their shopping session by clicking on a button labelled -Checkout-. When the Checkout button is clicked, the system checks that the user actually has products in the shopping cart, and if so it executes a php script whose results are shown in the top right hand frame. (If there are no products in the shopping cart a simple message is displayed in the shopping cart frame).
4. The checkout component displays a purchase form asking the user to fill in their delivery details (name, address, suburb, state, country and email address). All these fields must be completed for the order to go ahead. The user completes the transaction by clicking on a button labelled -Purchase-. The details of the order are sent via email to the email address given on the form.
Database
A MySQL account has been created for you to access the database -poti-, on the server -rerun-.
Details of the account: username: potiro password: pcXZb(kL (select/read-only access)
Unix Command line: mysql -h rerun -u potiro -p poti
Process
• Use PFE (Windows) or PICO, VI, or emacs (Unix) to edit your HTML, CSS, JavaScript and PHP files.
• Use a graphic tool of your choice or PC Paint to create your clickable image maps.
• Use clickable image maps and JavaScript to create your rollover image maps.
• Use PHP code to retrive products’ information from MySQL database
• Test each component of your system, and then integrate all components into a complete system.
Submission
Your web page must reside on the machine www-student.it.uts.edu.au, in your public_html directory.
You submit the assignment details (your name, Student ID, URL of the assignment, partner’s details (if done with someone else) through a form which will appear as a menu option on the subject website. If you want to you can submit your assignment details after the form appears, but prior to the due date you may do so. There will be a link to the submission form at the subject homepage for making your submission. You will be asked to submit the URL of your page (but that URL must refer to a page on www-student.it.uts.edu.au).
• Before you submit your assignment, please check whether your web site is accessible. • Do not send the URL of your assignment to the lecturer or tutors by email!
After the indicated deadline submissions will not be accepted!
Collaboration/plagiarism
Students are reminded of the principles laid down in the -Statement of Good Practice and Ethics in Informal Assessment- in the Faculty Handbook. Assignments in this subject should be your own original work. Any collaboration with another participant should be limited to those matters described in the -Acceptable Behaviour- section. Similarly, any group work should be the result of collaboration only within the group. Any infringement by a participant will be considered a breach of discipline and will be dealt with in accordance with the Rules and By-Laws the University. The Faculty penalty for proven misconduct of this nature is zero marks for the subject. For more information, see: http://www.gsu.uts.edu.au/rules/16-2.html.
Further, copying of resources (e.g. images, blocks of HTML) from other web sites without acknowledgement of the source constitutes plagiarism, and is considered as unacceptable behaviour. While you should feel free to use other web sites for inspiration, you should not cutand-paste -source code-.
The exception to the above rule is web sites which make available free-to-download archives of images, scripts, etc. You should check any restrictions before using such material (e.g. many image sites require you to include a link back to their home page if you use their images). Further, for the purposes of this subject, you should also acknowledge the source of any such material by using a comment !– … — in your HTML file. For more information, see: http://wiki.it.uts.edu.au//start/Academic_Integrity.
Here are some png graphics which you can use in the assignment if you wish. The colours are not particularly good, and you can improve them if you wish. You are also free to make your own images from scratch