Assignment title: Information
CRICOS Provider No. 00103D Insert file name here Page 1 of 4
ITECH6401 Enterprise Programming Group Assignment:
Enterprise Web Application
Groupsof3-4 students
Due date and weighting: Thursday 29 September 2016 at 16:00 (20%)
Assignment Objectives
The purpose of this assignment is to enable you to demonstrate your understanding in building an
enterprise-grade web application supported by technologies made available in the Java EE
platform. You will be able to combine your knowledge of the Java EE platform learnt over the
semester to develop an effective usable application that solves real-world business problems.
The objectives for the assignment are:
• Incorporate Enterprise Java to handle the business logic of a large application
• Integrate persistent database storage for handling data management
• Extensive input validation and exception handling to promote application reliability.
• Support the web application interface using available technologies.
Specification
FedUni Library is a recently established community library and has contracted you to build a
supporting enterprise-grade web application to help manage their item collections and provide an
online loan system. You will be building this application using the Java EE platform. Since FedUni
Library is a new business entity, they have provided you with total creative freedom over the
branding of their web presence. This provides you with an opportunity to exercise your imagination
and creativity while applying the technologies.
Requirements Overview
FedUni Library have provided you with a brief overview of what they expect their application to
support. The scope of the application is up to you but the following functionality needs to be
implemented. A higher quality solution will result in a higher mark.CRICOS Provider No. 00103D ITECH6401_Assignment-2_2016-17 Page 2 of 4
An outline ofthe expectedfunctionality is provided below:
• There must be a detailed homepage acting as the 'gateway' for users. News and events
such as latest items and library branch openings should be highlighted while providing the
user with a usable navigation solution to the main parts of the website.
• You need to implement support for user registration and authentication so library patron
can have their own login and have item loans associated with their account and bookmark
items they are interested in. Additionally, there must be an 'Admin' user account which can
manage aII data contained within the application.
• There must be a 'Items' page that showcases different categories of items and allows users
to view details on specific items. When viewing items, the user has the option to request
the item for loan (if available) and post comments regarding the item.
• Users should also be able to search for items based on multiple criteria (such as title and
author).
• There must be a private user profile page accessible only by the authenticated user
themselves, which enables them to view their bookmarks, loan history and an overview of
any comments they may have made.
Note: For the purposes of this assignment, cross-browser compatibility is not an issue as long as the
web interface and content renders correctly on a recent modern browser (such as Chrome, Internet
Explorer, Firefox or Safari)
Marks Breakdown
Application Architecture and Interface (15%)
Your application needs to demonstrate a sound knowledge of using the Java EE 7 platform, in
particular, this category deals with the overall design and implementation of your application and the
separation of functionality between the web and business tiers. A high quality submission will have
integrated and explored using advanced functionality and application feature implementations of the
various technologies covered in the course.CRICOS Provider No. 00103D ITECH6401_Assignment-2_2016-17 Page 3 of 4
User Login and Registration (15%)
The application needs to support users being able to register an account so that they can bookmark
items which they are interested in, add comments to items and request an item for loan. A login page
must be presented to users should they be requesting functionality or if directly accessed via site
navigation.
A registration page must also be available to enable users to create an account. When users are
creating an account they must provide an email address, name and phone number. Each of these
fields is mandatory and must be validated by the application. The validation metrics for the email
address and phone number is entirely up to you but they must be reasonable. Invalid input should be
rejected by the application and validator messages presented to the user explaining why the inputs
were rejected.
Once a user has been authenticated, they must be redirected either to the previous page that required
authentication. The user must also be able to access their private user profile page which highlights
their bookmarked items, a loan history of all their requested items and any comments they have made
regarding items.
Basic Item Management (excluding loans) (15%)
The application needs to support Create-Read-Update-Delete (CRUD) functionality for items on the
online library system. While users are able to read information about items, only an 'Admin' user should
be able to create, edit and delete item records.
For the purposes of this assignment, your application should have at least thirty item listings (loaded via
MySQL script) and three item categories as sample data. Each item will have a unique id number, title,
author(s), publisher, publish date, ISBN and an overall description. An item must also be listed within a
category and can potentially be listed in multiple categories if desired. A supporting image for each item
is optional. Database should be in 3NF.
Advanced Item Management - User Commenting, Item Search and Loans
(35%)
In addition to the basic items functionality identified above, authenticated users must also be able to
post user comments regarding items (such as a review). Comments must be associated with a user
profile and contain textual information regarding the comment itself. Extended information for the
comment (such as a review score) is up to you as the developer. The 'Admin' user must be able to
manage user comments by being able to edit or remove records as desired.
Users must also be able to locate items in the library system by performing a search query where the
entered keyword input can be matched against the item title and other criteria (such as ISBN). Search
results should be presented on an individual page which can be item marked by the user or via the web
browser.
Lastly, users need to be able to make item loan requests when viewing a item and other parts of the
interface if desired. If an item is marked as available for loan, the user is able to press a button to getCRICOS Provider No. 00103D ITECH6401_Assignment-2_2016-17 Page 4 of 4
the item as a loan. Once an item loan has been received, it is allocated to the user that requested it and
is marked as due back within two weeks. Once a user has finished using the item, they may press
another button to indicate it has been returned. The 'Admin' user can also override individual item loans
should they become overdue or lost.
Demonstration (10%) & Documentation (10%)
You will have an opportunity to demonstrate your application. You will be given a chance to allocate a
time during the Week 11 tutorial. You will be asked questions regarding your design approach to your
application, justification behind your approach in the interface design, usage of the web service and
underlying technologies and review of your application's overall code quality. In your documentation,
clearly show which part of the project was authored by whom. Although this is a group project, in cases
where the contributions were not equal, marks will be adjusted accordingly. Clearly show authorship on
all parts of the assignment.
Students should also post a 5 minute video demonstrating and explaining their solution.
Submission Requirements
You will need to export your NetBeans project as a ZIP archive with the filename as:
ITECH6401|_Assig2_StudentID-StudentID-…-StudentID.zip
depending on the number of students in the group. Any other necessary documentation can be
uploaded as separate files or included with the ZIP archive. All files are to be uploaded onto Moodle
and will be used for on-campus students to perform their demonstration to the tutor.
Items Marks
Application Architecture and Interface /15
User Login and Registration /15
Basic Item Management (excluding loans) /15
Advanced Item Management – User Commenting, Item Search and Loans /15
Demonstration/Video /10
Report /10
Technologies Implemented: JavaBeans | EJBs | JSPs | JSFs |HTML5 3|5|4|5|3
Total /100