COMP S380F Group Project (2024)
COMP S380F Web Applications: Design and Development
Group Project (15%)
You are required to form a group of at most 4 members, where each member is expected to share a similar workload.
Theme: You are required to implement a web application for an Online Book Store.
Basic Features (60% of the project):
1. Your web application should fulfill the following basic requirements on web pages and functionalities:
a. Using major techniques introduced in the lectures and labs, like Jakarta EE, JSP, EL, and JSTL.
You are NOT allowed to use a non-Jakarta EE server for the system. CSS and Bootstrap are allowed.
b. You are required to use Spring MVC and Spring Boot and Spring Security.
c. Dynamic pages generation is based on the user’s input or request.
d. Using the H2 database as backend for data storage (necessary for uploaded photos).
e. The web application should be easy to use for normal users.
2. In the basic part, you must implement ALL of the following features to receive full mark:
a. Website hierarchy:
1. The website has an index page, which shows the list of books in the book store.
2.Each book has an item page, which shows
 basic information, including name and author, of the book,
 price of the book,
 description text of the book,
 cover photo of the book,
 availability of the book, and
 a list of comments from registered users (including the admins and normal users).
b. User registration (for unregistered users) and login function:
1.Information includes username, password, full name, email address, and delivery address.
c. Unregistered users can read all contents but cannot make any orders and comments.
d. Registered users can read content on all pages, and do the followings:
1.Add and remove items in the shopping cart.
2.Check out the shopping cart with the purchase details. (Payment process is not required.)
3.Write new comments.
4.Update the user’s personal information except the username.
e. The admins (at least one and can be more than one) can do anything a registered user can do, plus the
followings:
1.Edit (add, remove, update) the list of admins and registered users, and their information.
2.Change the availability of a book.
3.Add, edit and delete item pages.
4.Add and delete comments.
 Note that all features are supposed to be fully functional.
Additional Features (30% of the project):
You are required to implement any three features in the following list.
1. Users can add and remove multiple copies of a book in the shopping cart.
2. Ordering history of each registered user
3. Comment history of a registered user (including the admins and normal users)
4. Adding, removing and showing favorite books for a registered user
5. Multiple languages (e.g., English, Traditional Chinese); note that using translation service (e.g., Google
Translate) is not allowed.
Demo Video (5% of the project):
You are required to record a demo video to demonstrate the functionality of your web application. You may use Zoom
and its “Share Screen” function to record the demo video. There is no limitation on the duration of the demo video.
Submission Form (5% of the project):
You are required to fill in a submission form (provided on OLE) with the following items:
 Member list with student IDs,
 Link (e.g., Google Drive and YouTube) for your demo video (in case it is not included in your zip file),
 Database name, username, and password for your H2 database,
 Usernames and passwords for some admin and normal user accounts, and
 Any additional information (e.g., SQL for creating tables and inserting initial data if they are not stored in the
project folder).
Submission and Assessment:
Source code submission
Deadline: 14 April 2024 (Sunday) 23:59
 Select one group member as the group leader to submit the source code and documents of the web application
in a single zip file. All the name of your files file should not contain any non-ASCII characters.
 Clean your Gradle web application project to remove all the compiled files to make the zip small in file size.
 Submit the single zip file to the OLE submission page; your zip file should contain the two items: (1) Gradle
Web Application, (2) Submission Form, and (3) Demo Video.
Assessment
 Your web application will be tested by the course instructors according to a procedure that can test all the
functionality. Unreasonable UI and UX will lead to mark deductions.
 The web application will be built and deployed to a server computer, and other computers will be used as
clients for testing the functionality. It is expected that all clients can access the web application when the web
application is deployed alive.
 Note that you should fill in your database with enough initial data such that the functionality in your web
application can be tested properly or understood more easily. For example, your database should already have
some admin and normal user accounts.

请加QQ:99515681  邮箱:99515681@qq.com   WX:codehelp