Skip to content

This is my final submission for the ReliaQuest Entry-Level Java Challenge. Please let me know if you need anything else!

Notifications You must be signed in to change notification settings

chume2/ReliaQuest-Coding-Assessment

Repository files navigation

ReliaQuest's Entry-Level Java Challenge

Please keep the following in mind while working on this challenge:

  • Code implementations will not be graded for correctness but rather on practicality
  • Articulate clear and concise design methodologies, if necessary
  • Use clean coding etiquette
    • E.g. avoid liberal use of new-lines, odd variable and method names, random indentation, etc...
  • Test cases are not required

Problem Statement

Your employer has recently purchased a license to top-tier SaaS platform, Employees-R-US, to off-load all employee management responsibilities. Unfortunately, your company's product has an existing employee management solution that is tightly coupled to other services and therefore cannot be replaced whole-cloth. Product and Development leads in your department have decided it would be best to interface the existing employee management solution with the commercial offering from Employees-R-US for the time being until all employees can be migrated to the new SaaS platform.

Your ask is to expose employee information as a protected, secure REST API for consumption by Employees-R-US web hooks. The initial REST API will consist of 3 endpoints, listed in the following section. If for any reason the implementation of an endpoint is problematic, the team lead will accept pseudo-code and a pertinent description (e.g. java-doc) of intent.

Good luck!

Endpoints to implement (API module)

See com.challenge.api.controller.EmployeeController for details.

getAllEmployees()

output - list of employees
description - this should return all employees, unfiltered

getEmployeeByUuid(...)

path variable - employee UUID
output - employee
description - this should return a single employee based on the provided employee UUID

createEmployee(...)

request body - attributes necessary to create an employee
output - employee
description - this should return a single employee, if created, otherwise error

Code Formatting

This project utilizes Gradle plugin Diffplug Spotless to enforce format and style guidelines with every build.

To format code according to style guidelines, you can run spotlessApply task. ./gradlew spotlessApply

The spotless plugin will also execute check-and-validation tasks as part of the gradle build task. ./gradlew build

About

This is my final submission for the ReliaQuest Entry-Level Java Challenge. Please let me know if you need anything else!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages