Assignment 6: Other Patterns - Lab (4%)
This assignment relates to the following Course Learning Requirements:
CLR 1 - Implement an objected-oriented program design incorporating the use of best practice design patterns using the JAVA programming language.
CLR 3 – Develop an application thru the use of refactoring steps which culminate in the demonstration of the Model-View- Controller or modified Model-View-Controller design pattern.
CLR 4 – Develop web applications using Java.
Objective of this Assignment:
The objective of this assignment is to demonstrate the skills required to:
- Design a web-based Java application using both sever-side and client-side programming.
Instructions
To prepare you for this assignment, read the module 11 and 12 content and follow the embedded learning activities.
Tasks:
- The first task of this assignment is to read the scenario below. It is a continuation from the previous assignment.
Code&CodeScenario Code&Code is a small company dedicated to Software Development. Their engineering team, to which you belong, is working on writing a Web Application as an MVP for a new customer. The code name for this App is “Loggy”, which is meant to offer functionality for a personal journal where users can log their daily activities through text, voice and video. Your team was assigned to write the main functionality, which is essentially a Microblogging System where all the posts can be annotated with voice, video, images or text. In your third iteration you created a web application that would be the foundation for the Microblogging System under the following assumptions: - Users submit their logging activity through a web page to a single thread in the same way Twitter users submit their posts. A form containing an input box and submit button is shown at the top and under that, a list with all the previous submissions ordered by the timestamp in descending order.
- A short title (60chars) and a short description (120 chars) is required. After that, the user attaches the actual content, which can be a text, picture, audio or video file.
- The file is processed in the server and a thumbnail is shown right below the description.
|
- Once you have familiarized yourself with the scenario provided above, you must review the code from the previous iteration (provided) and proceed with code refactoring by applying Design Patterns in order to improve the general design.
MVC Pattern
The application renders HTML directly from the Servlet. While this approach was good enough for a quick prototype, it would not scale.
- Apply the MVC pattern by templating the View using JSP pages.
- Customize the CSS styling with a design of your choice.
Submission:
Your submissions for this assignment should include:
- Java code of your final solution.
- Report of your observations on the changes you had to do to your code while following the recommended steps. Add snippets of code to the report to show intermediate steps.
*Remember that although the scenario and resulting model may be used for future activities, the main goal is to practice what you have learned in the modules 11 and 12, so do not be worried about finding the perfect solution for this case. Going beyond the scope of these two models is optional and will not be taken into consideration for the grades.
Guidelines
- Once you have completed all steps and followed submission requirements, post your assignment in the designated attachment section in Brightspace when your facilitator assigns it. Check the course modules and weekly schedule for instructions.
- The submission consists of four separate files.
- A WAR file optimized for Tomcat 9 thatincludes the source code, static resources and dependencies.
- A DDL file containing the Database description for the project (unless you have opted for adding code for auto-generating the database if it does not exist).
- A MP4 file with a screen capture demonstrating how your application works in at least two browsers including Chrome. The recording does not have to include voice over and should be between 1 and 2 minutes only.
- A DOC file containing your report.
- The project provided makes use of MySQL, you must keep it that way. The database should be named as lab6_STUDENTNUMBER. And if the username is hardcoded, the name used should be “root” with no password. Otherwise specify in the submission where the database name, username and password should be configured.
- All files should be named as Assignment_NUMBER_STUDENTNUMBER.extension
(Where extension means docx, mp4, zip etc, not the word extension)