Allocated: 3rd July 2029 Final Submission Date: Tuesday 4th of August at 9am
This will be the assignment for the course. Titles will be given out in Week 3 following confirmations by students regarding final module choices.
The resit version of the assignment is essentially a re-submission of the same continuous assessment previously submitted (or not submitted). Assigned titles will remain identical.
Value: 25%
Project Specification
You are responsible for designing one of the following systems for your company:
- Recipe System
- Users should be able to register and create an account
- Users should be able to choose from a database list of ingredients and create/save a recipe
- Any user should be able to browse existing recipes and search by name or by selecting specific ingredients
- Online Take-Away System
- Restaurant owners can register their restaurants and create an account
- They can add a menu of items for sale from their takeaway with corresponding description and prices
- Anonymous users can search for takeaways and browse their menus and place an order (payment process not required)
- Buy and Sell System
- Facility to allow users to register
- Registered users can place advertisements on the system under certain categories
- Users can search for items or by category and place bids on items
- 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 separate 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 booking
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 fire-walling 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.