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 userfriendly 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 | 4 13 |
|
Creating the database ! Table structure ! Initial data entry |
2 11 |
|
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 21 |
|
Additional task for ITECH6224 students | 5 311 |
|
Documentation ! Initial data |
3 111 |
|
Quality of code – layout, choice of names, etc. | 2 | |
Totals | 20 25 20 |
! Static form design
! Validation of entries
! Content
! Writing style
! Adherence to academic standards
! Completion of tasks statement
! Assistance statement
! ITECH3224
! ITECH6224
! Final mark for ITECH6224 (Total * 0.8)