ITECH3224/6224 World Wide Web Technology 2

profilealiiqbal497
assign1.pdf

CRICOS Provider No. 00103D Page 1 of 4

Assignment 1 Term 1, 2014

Introduction

This is an individual assignment in which you are required to develop a dynamic web application as described below using PHP, MySQL, JavaScript and CSS.

Details of the weight of the assignment and due date are given in the course description.

Task Description

Database structure

The web application uses a 3-table relational database stored on a server that records the details of books borrowed from a library. The structure of the database is:

BORROWER(BORROWER_NUMBER, BORROWER_NAME, EMAIL) BOOK(ISBN, TITLE, AUTHOR, PUBLISHER, YEAR_OF_PUBLICATION, NUMBER_OF_COPIES) BOOK_BORROWED(BORROWER_NUMBER, ISBN, COPY_NUMBER, DATE_BORROWED) Each record in the BOOK_BORROWED table refers to one book borrowed by one borrower on the date specified. Borrowers may borrow up to 6 books at a time. The field NUMBER_OF_COPIES in table BOOK stores the number of copies of a specific book owned by the library and available for borrowing. If the library owns a single copy only of any book, then 1 should be entered for the COPY_NUMBER whenever it is borrowed. No nulls are permitted. The BOOK_BORROWED table has a primary key that combines the primary keys of the other 2 tables. Primary keys have been underlined. The borrower number is a 5-digit number with no leading zeroes. The ISBN (International Standard Book Number) is a 13-digit number that uniquely identifies a published book. All copies of a given book have the same ISBN. The year of publication is a 4-digit number. The date borrowed has the format ‘ddmmyyyy’. Initial data

When the database is set up it should be populated with the data that you have chosen. Display this data as part of your documentation. Each table should have from 3 to 6 records initially.

Borrowing forms

Before implementing the database, use PHP and CSS to create a form that enables a librarian to enter the details for the BOOK_BORROWED table when a borrower borrows one or more books by a student for one or more courses as part of a single program. Wherever appropriate you should use drop down boxes for user- friendly entry of data and to reduce entry errors.

ITECH3224/6224 World Wide Web Technology 2 Faculty of Science

ITECH3224/6224 World Wide Web Technology 2 Faculty of Science

CRICOS Provider No. 00103D Insert file name here Page 2 of 4

Use JavaScript to ensure that an entry has been made in each element of the form and that the entries are valid. Check that numbers have been entered in fields that are numerical and that the numbers entered are within the specified range.

Test the form by posting the values of the entries in the borrowing form to a separate php file that will display the borrowing details in full, including information obtained from the other two tables (once the database has been implemented).

Creating the database

Use MySQL commands from the command line to create a database on the server with the structure specified and populated with the initial data.

Test the database by writing a query on the command line that displays all initial data as described on page 1.

Write PHP code that will enable users to create an account giving them access to the database with permission to query the database and add new bookings. Account usernames will generally be email addresses. However include username ‘tutor’ with password ‘guest’ as one of the accounts. User passwords should be encrypted with an MD5() hash function.

Querying the database

Write PHP code that connects the database with the application. Enable the user to interrogate the database in a variety of ways, using a column of 5 buttons, 1 per query, with an appropriate description attached. Queries should demonstrate at least the ability to select records, select fields, display in sorted form and count.

Generating new bookings

Allow recognised users to submit a valid form that creates an additional record being written to the BOOK_BORROWED table.

Additional task for ITECH6224 students

On the topic of “Validating data entries, why and how” identify four (4), relevant, independent resources. Use these resources to discuss the topic in about 500 words. Take care to cite appropriately.

Further details

Documentation

Include in a Word document:

• Initial data details • A list of either parts of the assignment you have completed or parts not completed • Details of specific assistance received from people other than lecturer or tutor and the names of those

assisting

ITECH3224/6224 World Wide Web Technology 2 Faculty of Science

CRICOS Provider No. 00103D Insert file name here Page 3 of 4

Assignment support

This assignment is supported by the first 5 lectures and the first 6 labs. Work on the assignment should be spread over a number of weeks after the relevant lab has been mastered.

Course Description

Refer to the Course Description for details of submission to Moodle, late assignments, extensions, special consideration, plagiarism, student support, presentation of academic work and adopted reference style.

Submission

All files should be zipped and uploaded to Moodle by the due date and time. Check with your tutor as to whether a hard copy is also required. (Note that ‘also’ does not mean ‘instead of’).

ITECH3224/6224 World Wide Web Technology 2 Faculty of Science

CRICOS Provider No. 00103D Insert file name here Page 4 of 4

Assignment 1 Marking Guide Term 1, 2014

Name ____________________________ ID ______________________ Marker ____________________

Criterion Maximum Obtained

Initial data – requirements satisfied 1 Order forms

-­‐ Static form design -­‐ Validation of entries

4 1 3

Creating the database -­‐ Table structure -­‐ Initial data entry

2 1 1

Querying the database -­‐ Accuracy of queries -­‐ Up to 3 marks deducted for lack of variety of queries

5 5 (-3)

Generating new enrolments -­‐ Data capture -­‐ New record creation

3 2 1

Additional task for ITECH6224 students -­‐ Content -­‐ Writing style -­‐ Adherence to academic standards

5 3 1 1

Documentation -­‐ Initial data -­‐ Completion of tasks statement -­‐ Assistance statement

3 1 1 1

Quality of code – layout, choice of names, etc. 2 Totals

-­‐ ITECH3224

-­‐ ITECH6224

-­‐ Final mark for ITECH6224 (Total * 0.8)

20

25

20