Skip to content

The compact Human Resource management tool for adding talent to build Superteams!!! A must-have accelerator for modern large-scale enterprises.

Notifications You must be signed in to change notification settings

rishiraj88/EmployeeOnboardingStateMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

Employee Onboarding State Machine

The compact Human Resource management tool for adding talent to build Superteams!!! A must-have accelerator for modern large-scale enterprises.

Features

  • Allows for rapid onboarding of people.
  • Reduces error rates (number of data errors per 1000 of persons on-boarded)

Intented End-Users

This is a tool for HR personnel in the following functions:

  • Hiring
  • Talent Acquisition

Suggested Usage Scenarios in Business Functions

  • to manage concurrent hiring of people,
  • concurrent employee on-boarding

Tools for Development and Execution

  • Java 17 (JDK 17)
  • Spring Boot
  • Spring StateMachine
  • Lombok
  • JUnit 5
  • Docker with docker-compose

To Start Docker container

From within the project root directory, issue the following command ($ is prompt, not to type in!):

$ docker-compose -f onboarding.yml up

The API Endpoints

  • to add an employee
POST http://localhost:8080/eob/add

Request Body (JSON) example:
{"emailAddress":"e004@email.com",
"name":"name",
"contract":"contract",
"age":30,
"state":"ADDED"
}
  • to update employee state
PUT http://localhost:8080/eob/update?email=e004@email.com&event=BEGIN_CHECK
  • to get employee details
GET http://localhost:8080/eob/getByEmailAddress?email=e004@email.com

Notes

  • A very simple and minimal app has been designed and implemented.
  • The app showcases state machine transitions.
  • To minimise the effort and time to devote prior to the first showcasing, the following have been parked for future when needed:
    • ResponseEntity in Controller
    • Controller test cases
    • More test cases for Service, especially unhappy scenarios
    • Elaborate OpenAPI documentation

Docker Image

This project is available to pull as a container image as well. Follow this link for exact details:

https://hub.docker.com/repository/docker/i50729/employeeonboarding

Contact Points for Feedback, Queries, Collaboration

Releases

No releases published

Packages

No packages published