CO4752 Web Development Assignment
This assignment is worth 100% of the assessment for this module.
Learning Outcomes assessed
1. Understanding of multi-tier web application architecture and corresponded infrastructure setup.
2. Use of Servlets as a middle layer technology for web application development
3. Use of JavaScript and AJAX for web front development.
4. Use of JSON/XML as for exchanging messages between web portal and server application
5. Use of HTML/HTML 5 and CSS for web portal rendering.
6. Use of JDBC to interact with database (MySQL).
Introduction
In this assignment, you are required to complete an online student-accommodation management system, which is composed of three tiers (web portal, middle layer and database). The functional requirement of the system is as the followings:
1. Admin users who are able to browse/add/remove/update/search/ accommodation records through a web portal. Records are stored in a back-end database. Each record should contain:
a. Room id
b. Room type
c. Room location
d. Monthly Charge
e. Room Status (allocated/available)
f. Payment status
2. Student users are able to select their accommodation that are added by the admin user. Each of them can choose one type of room.
3. Both type of users will need to log into the system. Therefore, your system should provide basic user registration/login/logout functions.
Task Details
Note: for guidelines what to hand in and what the marker will be looking for, see the marking scheme. Working INDIVIDUALLY:
1. Web portal: Your web portal should contain at least the following pages:
1. Login/Registration page for both admin and student users.
2. Admin user’s room management page: where admin user can perform the required operations. The page should show a list of rooms (and their information) and admin users are able to add new room; update information about existing rooms.
3. Student user’s accommodation management page: where a student can view information about each different types of room and select/update his or her own accommodation The architecture of the assignment needs to be strictly three tiers based. This means web portal is only used for rendering contents, taking inputs from users and feeding back results. The portal is not supposed to handle any business logics (JSP, PHP, Ruby on Rails style portal and things similar will NOT be accepted and marked). You will need to use Javascript+HTML 5+CSS for your web portal development. Necessary third-party libraries are allowed in the implementation.
2. Middle Layer: A middle layer that talks to both database and web portal through message exchange. It should handle all business logics. The middle layer needs to be implemented conforming to Java Servlet standard. It needs to be done in JAVA rather than any other programming languages.
3. Database: MySQL database will be used to store data. You will need to define your database schema that support your application. For this assignment, you do not need to worry too much about the DB normalisation rules and etc. You can use fewer tables as long as they satisfy your needs.
4. Message Exchange: The messages that are exchanged between the portal and middle layer need to be JSON. This makes the whole system a completely decoupled manner. No portal will be relying on any specific middle layer’s implementation and vice versa. Both of them are only dependent on the contents of the messages exchanged and interpretations of those messages.
What You Should Submit:
You should submit a zip package, a demo video and a source code text file via the links on Blackboard and Turnitin (code source file needs to be submitted via the Turnitin link). Both files should follow the name convention: YourRegistrationNumber_(FirstName LastName).zip/txt.
• The zip file should contain the following contents:
a.
b. Your web portal folder. This folder needs to be directly deployable and runnable on tomcat 7+ servers. Folder that fails to be deployed or run will be regarded as a failure, and you will lose half marks for web portal section.
c. A war file which can be directly deployed on tomcat 7+ servers. Failure on the deployment will lose you half marks for middle layer sections. You will need to be very careful with the all the libraries that you choose to use. Make sure you pack them up in the war file so when the war is deployed, the tomcat server will not complain about missing
libraries.
d. A db.sql file that contains all the data you’ve created or used or tested for your project. It can be restored to MySQL database.
• A report that explains your design, implementation details and any potential problems that you are aware of your development and potential improvement that can be done. Full lists of messages (json syntax) that are exchanged between your Servlet service and portal. Explain how the http protocol is used in your implementation if any.
• The demo video should show typical use scenarios that users interact with your system. You should demo a full working application, which covers all the functions required. The video should be no longer than 5 minutes. You DON’T need to show your codes in the video.
• The single source code text file must contain all the source codes you implemented. The content of the file is copied and pasted from all your own *.java source files. Failure to provide any of the above files will be considered as an incomplete submission and your work will not be marked until all files are submitted. (It can be treated as a late submission). In addition, the work implemented using other frameworks/languages such as JSP, ASP, PHP will not be marked and you will receive no mark for your submission.
Assessment Criteria:
When I am marking this assignment, I will deploy your submission to my own environment. Please don’t assume that I will be in any of the computing labs or place similar. So please make sure your submission is going to work on any PC. Also, please make sure you web portal will work on google chrome browser (it has better support to 3rd party libs for javascript).
Expert's Answer
Chat with our Experts
Want to contact us directly? No Problem. We are always here for you
Get Online
Online Tutoring Services