Practical Exam for 2025 Spring
Subject HSF302
Code
Subject Working with Spring
Name Framework
Time 90 minutes (include submit
time)
Exam Type EOS Practical Exam
Note
a) Allow student to connect to Internet within 5 minutes when setting up project at
the beginning examination
b) Student can only use resources in local computer
B) Exam Requirements
Develop the following page in Spring Boot 3.4.3, Spring JPA, and Spring MVC
6 (Thymeleaf) run on JDK 21
| Project Code | | SMS |
B.1 Screen Layout
Product Management
Screen Layout
Product Name:
Price:
Description:
Category:
Add New
Product List
# No Product Name Category Price Description Action
01 iPhone 15 Electronics 999.00 New Model Delete
Screen Definition
# Field Mandat Leng Description Type
name ory th
1 Product Yes 50 No duplicate Text box
Name
2 Price Yes 8 Greater than 0 Text box
3 Descripti No 200 Text box
on
4 Category Yes NA It is one in the list (Electronics, Dropdown
Furniture) – Defined in Java code,
not in database
5 Add New Button
B.2 Functional & UI Requirement Details
A) Functional Requirements
# Functional Requirements Mark
1 When the user go to the page, all products in the database will be 2
displayed in the list. The list is ordered by Product Name
2 When the user click on "Add New" button, the software will: 4
a. Validate the input data
b. Store data, show the "Created new product successfully" and then
display the new record in the list
3 When the user click on "Delete" button in a row on the product list, 2
the software will show a dialog confirm:
a) If user select "Yes" option, the software will:
- delete the product from database
- show the "Deleted successfully" message on the screen
- and update the product list
b) If user select "No", the software close the dialog
B) User Interface
# User Interface
1 Screen must have layout as described in Screen
Layout section
2 Item label must follow the description in Screen
Layout section
3 Graphical design must be clear, high contrast and
understandable
B.3 Project structure requirements (1 point)
# Project structure requirements
3. The project must be in IntelliJ format and the name must following
1 convention: <ClassName><StudentID><ProjectCode>_PE
3. The project must be in Spring Boot type and package type is "war" run on
2 JDK21
3. Use Spring Boot 3.4.3, Spring JPA and Spring MVC 6 +(Thymeleaf) for the
3 project
Note: Do not allow use other libraries e.g. lombok
3. User MS SQL Server Driver enclosed with Spring Boot Project in IntelliJ for
4 MS SQL Server 2016 or later for the project
3. The application must follow the MVC & Layer structural pattern. The
5 package of java code must construct as the following:
com.<studentId>.[Link] → Contain entity classes
com.<studentId>.[Link] → Contain Repository Interface classes
com.<studentId>.[Link] → Contain service Interface classes
com.<studentId>.[Link] → Contain service implementation
classes
com.<studentId>.[Link] → Contain controller classes
com.<studentId>.[Link] → Contain data transfer objects
com.<studentId>.mvc → Contain configuration classes
Note: Please replace <studentid> by your id
3. Class name and class attributes must be named according to
6 requirements of the application
3. Please zip the project folder and then submit the zip file to EOS
7 Note: Follow the submit guideline in the enclosed document when submit
your project
3. Table name & Field name in database must follow the defined table in
8 below section. If not follow, the result will not be graded
3. Category list must be defined in Java code, not in database
9
B.4 Database Table name: Product
# Field Type Si Type of Entity Mandat Description
name ze attribute ory
1 Product_ID int NA int Yes Auto generated
(Identity)
2 Product_N NVarc 50 String Yes
ame har
3 Price Decim 8,2 BigDecimal Yes
al
4 Description NVarc 20 String No
har 0
5 Category NVarc 30 String Yes Electronics/Furnitu
har re
B.5 Project configuration requirements
# Requirements
1 Database name: HSF302_2025_PE
2 [Link]: 1234
3 [Link]: sa
4 [Link]-path: PE2025
5 [Link]: 8080
6 [Link]-auto: none
7 Path for the application page in
controller: /
B.6 Grading Policies
The following items are mandatory requirements. If one of item is violated, your
result will be graded zero.
# Item
1 The requirements noted in the following
sections:
B.3 Project structure requirements
B.4 Database Table name
B.5 Project configuration requirements
C) PE Submit Guideline
C1) Before zipping project folder
Please follow the following steps:
● Step 1: Go to folder contain the project
● Step 2: Open the project folder, the folder structure like below
● Step 3: Open “target” folder, the folder structure like below
● Step 4: Delete “classes” and the folder has same with project name
Note: Should check carefully to avoid mistakes. You should copy the project to
other folder to backup before doing this task
C2) Zip the project folder
● Step 5: Go to folder that you opened in the step 1
● Step 6: Right click on the folder name and then select “send to” →
“Compressed (zipped) folder”