Question
Develop a hybrid Spring Boot application that is made of a client web application with multiple web pages for creating and managing individuals' contact information.
Develop a hybrid Spring Boot application that is made of a client web application with
multiple web pages
for creating and managing individuals' contact information. This client application
borrows (consumes) its database functionality from the second portion of your Spring application that
is a Restful web service.
Section 1: Restful web service
The Restful web service needs to include the following items/methods
Part 1: Contact bean
Create a Contact object that has the following fields:
?
ID: Auto generated when added into the database
?
Name
?
Phone number
?
Address
?
?
Role (Will be one of: Admin, Member, or Guest)
Part 2: Database
?
Write a schema SQL script that generates the "contacts" table in H2 database based on the structure of
the above Contact bean
?
Create a series of dummy records for your application.
There should be at least 4 contacts for each role
to properly test (to be included in data.sql file)
?
Write the necessary methods in a Database Access class for all operations that need to be done on the
database (e.g., addContact, ListContactByID, ListAll, RegisterUser, etc. See section 2 below for all
required operations)
Part 3: Rest Controller
Write the necessary methods in the RestController to implement the offered services (using internal HTTP
methods such as GET, POST, PUT, etc.),
and to invoke the corresponding database methods in order to perform
the actual CRUD operation(s)
Part 4: Spring Security measures
Include Spring Security connected to your database into application.
Have the below home page to be
accessible by anyone without logging in.
there should have roles for Admin, Member, and Guest.
CRUD
operations for contacts should be restricted to users who have logged in with
"
Admin
"
or
"
Member
"
roles
Section 2 - HTML pages for your client web application
The client web application would have the following 4 html pages.
Home
|
Add Contact
|
List Contacts
|
Register User
Hyperlinks to these pages need to be included in each page in the header section. Furthermore, as a
footer of each page, a proper copyright message (e.g., 2020 by
"
your name
"
All rights reserved.)
should be displayed.
Below pages are accessible by anyone without login.
Home.html:
This page serves as the homepage of your application. Style it nicely and professionally and include the above
header and footer accordingly.
Register.html:
Create a User registration page that allows you to create a new user (not a contact!).
registration page
should have checkboxes for each of the 3 roles.
user should be assigned roles based on the checkboxes
selected.
All below pages are password protected
ListContacts.html:
Create a view page that allows to view all of the contact information.
Include hyperlinks to edit/delete each
contact.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started