Answered step by step
Verified Expert Solution
Link Copied!

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)
1.0 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.
1. Register Candidate
2. View the registered Candidate
3. Filter the employee based on experience
4. 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.
2.0 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 /filter/{yearsOfExperience} 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 8761.
API Gateway Server:
Must contain a routing information for
o /register URI mapping,
o /view URI mapping
o /filter/{yearsOfExperience} URI mapping and
o /remove URI mapping to the actual implementation running at port 8080.
The API gate way server (i.e Router) port(8777) must be specified in the
application.properties 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 SLF4J 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 SLF4J 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 SLF4J 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 SLF4J 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 SLF4J and log the mes

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2012 Administration

Authors: Adam Jorgensen, Steven Wort

1st Edition

1118106881, 9781118106884

More Books

Students also viewed these Databases questions