You are responsible for designing one of the following systems for your company:
Student Registration System
- Facility to allow students to register as a student for a University
- Students should be able to register for a programme in the University and pay by credit card (emulate this only!)
- After selecting a programme, students should be able to choose from a list of available modules, specific to that programme
Library System
- Users should be able to browse a library catalogue,searching by author and title
- After log in, users should be view books and expiry dates on their account
- Librarians can log in and assign books or change expiry dates for users
Banking System
- Customers can log in and view their bank account details
- Customers should be able to transfer money between seperate accounts and view past transactions
- Customers should be able to pay off bills
Message Board System
- Users must register to post messages to the forums
- Users can post new threads or reply to existing threads
- Multiple forums should be available
Online Dating System
- Users should be able to register and input their personal details
- Users should be able to browse other users and search by categories
- Users should be able to arrange dates with each other, with details stored in the database
Room Booking System
- Administrator Users can create new 'Rooms' available for booking
- Standard Users should be able to register and log in
- Standard users can make bookings on rooms and view their bookings
NB: Which of the systems is allocated randomly and will be/has been distributed by email.
While there are a number of separate systems, the core concepts remain the same, each using identical technologies. While there is not very much information given above regarding the systems, the design and development of these systems is left up to you. A minimal specification is provided below, to give the requirements of what is *required* (60%). The rest is up to you. If you provide extensive functionality and design your system effectively, you will be rewarded (40%).
Technical Specification
Client Tier
Presentation should be performed using standard HTML and limited use of CSS style sheets
HTML and CSS should be manually created and a WYSIWYG editor should NOT be used.
Forms should be used where necessary as a front-end interface to your system
JavaScript/jQuery/AJAX may optionally be used but are not required
Application Tier
Core business logic should be written using Servlets and/or JSPs
JDBC should be used to connect to the database tier
Application should be properly constructed in an Object-Oriented component-based structure
The Session API should be used where necessary to perform session tracking.
Persistent data should be stored in the database via JDBC where necessary
You are not allowed to use a framework for development. This includes Struts, Spring, Grails, RoR or any other framework. The purpose of this assignment is to learn the underlying technologies and it not focused (yet) on development using frameworks.
Database Tier
Persistent data storage should be via an existing Oracle 11g database. To write and test SQL you can use the temporary database. Note: You may have issues connecting to this database from the wireless network due to internal firewalling in DCU. The engineering machines and home machines should have no issues with this resource.
Any SQL statements used to create and populate tables should be provided in the report. If tables are accidentally or maliciously deleted, assignment correctors should be able to recreate the necessary tables using these statements.
Your tables should be given unique names such as MOLLOYDATBL1 to avoid conflicts with other users in the same schema.
JDBC drivers are provided from within the course notes
Multiple tables should be used and given proper relationships.
SQL Query Tool (use this for interacting with your DB tables manually)
Note: For the vast majority of individuals without firewall issues, there is no need to install a database. Simply use the one provided. Ultimately, for correction purposes, your final application should use the provided database regardless of whether you choose to use your own individual database during development.
While the use of Hibernate is not required or particularly recommended, it is an alternative approach which may be chosen. However, the course content regarding Hibernate will not be covered until the very end of the Semester, so the student should feel confident to take this approach.
Overall
Entire application should be bundled as a Web Application (.war) file
The design and implementation of the rest of this application is up to you!
The accompanying short report for this assignment should be in HTML/CSS bundled within the Web Application. The report and the application itself should be linked from index.html
Marking Scheme
60% of the overall marks will be awarded for effective completion of the above minimal specification. The remaining 40% of the marks will be awarded for applications which demonstrate excellence through a range of features, effective design, independent learning and application.
Assignment Value: 25% of overall grade
Estimated Hours: 25-30 hrs
Plaigiarism / Collaboration
Is strictly prohibited for this assignment! - any arising cases will be dealt with directly through the DCU Disciplinary Committee.
Note: (Interview) You may optionally be called for interview to explain any sections of your assignment in detail.
Submission Mechanism
Please visit: http://ee417.eeng.dcu.ie/site/webappdevdcu/home/assignment-submission-details
Final Important Note
It is *YOUR* responsibility to create a working version of your assignment. This involves ensuring that your application is fully portable and will work for a third-party attempting to deploy your assignment. The most common cause for problems has to do with 'Absolute Paths' being used instead of 'Relative Paths' - please ensure that you know what these are and have made sure it would not be an issue.