Photoblog Springboot

Theme: You are required to implement a web application for a Photoblog
Basic Features (60% of the project):
Your web application should fulfill the following basic requirements on web pages and functionalities:
Using major techniques introduced in the lectures and labs, like Jakarta EE, HTML5, and CSS.
You are NOT allowed to use a non-Jakarta EE server for the system.
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.
Using the H2 database as backend for data storage (necessary for uploaded photos).
The web application should be easy to use for normal users.
In the basic part, you must implement ALL of the following features to receive full mark:
Website hierarchy:
1. The website has an index page, which shows all the photos uploaded by all users.
2. Each registered user has a profile page, which shows
the name of the user,
a user description written by the user, and
all photos uploaded by that user with uploaded date and time.
3. Each photo has a photo page, which shows
a description for the photo,
the name of the user who uploaded the photo,
the uploaded date and time, 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, phone number, and email address.
Unregistered users can read all contents but cannot make any comments.
Registered users can read contant on all pages, and do the followings:
-ne new comments.
2. Edit the user description of his/her profile page, and
3. Upload photos.
The admins (at least one and can be more than one) can do anything a registered user can do, plu.
followings:
1. Edit (add, remove, update) the list of admins and registered users, and their information; ne
that the profile pages and photo pages of deleted users will also be removed.
2. Add and delete photo pages.
3. Add and delete comments.
Ill features are supposed to be fully functional.