Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Employ Me Recruitment Agency ( Spring Boot + Microservices ) 1 . 0 Introduction Employee Me Recruitment is a leading recruiter agency and a leading
Employ Me Recruitment Agency Spring Boot Microservices
Introduction
Employee Me Recruitment is a leading recruiter agency and a leading provider of jobs in India. Landing
the dream job is a difficult task, especially in todays competitive job market, but Employ Me
recruitment agency help the candidate to choose the right job. The candidate needs to register with
Employ Me by providing their details, based on the details given by the candidate, the candidate will get
openings from various companies via mail.
The database of the recruitment details has increased drastically. So they need an application to
enhance the below task.
Register Candidate
View the registered Candidate
Filter the employee based on experience
Remove the selected candidate
The client wishes to have restful webservices using spring boot for the doing the above task. Help them
to automate the above process by developing Rest Service using Maven and incorporate microservices
for the same.
Technical Specifications
The provided RecruitmentController which is a RestController, should be created with the below
services:
Services:
Request
Method
Request Url Method in Controller Description
Post register registerCandidate This service should add the
candidate by using the
registerCandidate method of
the RecruitmentImpl class
Get view viewCandidateBasedonPosition This service should retrieve the
candidates by using the
viewCandidateBasedonPosition
method of the
RecruitmentImpl class.
Get filteryearsOfExperience filterCandidate This service should retrieve the
List of candidates by using the
filterCandidate method of the
RecruitmentImpl class based
on the years of experience
passed.
delete remove removeCandidate This service should remove the
candidate based on the status
by using the removeCandidate
method of the
RecruitmentImpl class.
The Controller class has the below attribute
IRecruitmentService service;
It should be injected in the Controller via annotation
Microservice Specification:
Spring boot application should contain all the REST services implementation as per the case study
specification.
The Spring rest service application should have the application name as recruitmentapp in the
application.properties.
Register the spring rest service application with the Eureka server which should run in port
API Gateway Server:
Must contain a routing information for
o register URI mapping,
o view URI mapping
o filteryearsOfExperience URI mapping and
o remove URI mapping to the actual implementation running at port
The API gate way server ie Router port must be specified in the
applicationproperties file.
The service must be accessible through API gateway.
Implement API Gateway using Sprig Cloud.
Service Layer
Refer to the IRecruitmentService interface provided as part of the code skeleton. The
RecruitmentServiceImpl class which is provided as part of the code skeleton has to realize all the methods
in the IRecruitmentService interface.
RecruitmentServiceImpl class should be configured via annotation as Service.
Attributes in the RecruitmentServiceImpl class
RecruitmentServiceImpl
Attribute Name Attribute Type
candidateList List
Method specification in service class
Method in Service Description Exception
registerCandidate This method should add the candidate
details to the candidateList and return the
candidate object.
Use SLFJ and log the success message as
Candidate with id
registered successfully
If the candidate already registered
with Employ Me then throw a
user defined exception
CandidateAlreadyExistsException
with the message Candidate
already exists with us If the
candidate email id already exists
with Employ Me then throw the
exception.
Use SLFJ and log this as error
message
removeCandidate This method should remove the candidate
based on the status. If the status is
recruited then remove all those candidates.
This method should return the number of
candidates removed.
Use SLFJ and log the success message as
candidate recruited via Employ
Me
filterCandidate This method accepts the year of experience
as parameter. It should iterate the
candidateList and return the list of
candidates who have that experience.
Use SLFJ and log the success message as
View candidate based on the experience
is successfully done
viewCandidateBasedonPosition This method should return the Map as
position applied for as a key and list of
candidates who applied for that position as
value.
Use SLFJ and log the mes
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