Тестовое задание для учебного центра Neoflex, 2024
Приложение "Калькулятор отпускных". Микросервис на SpringBoot + Java 11 c одним API: GET "/calculacte"
Минимальные требования: Приложение принимает твою среднюю зарплату за 12 месяцев и количество дней отпуска - отвечает суммой отпускных, которые придут сотруднику. Доп. задание: При запросе также можно указать точные дни ухода в отпуск, тогда должен проводиться рассчет отпускных с учётом праздников и выходных.
Проверяться будет чистота кода, структура проекта, название полей\классов, правильность использования паттернов. Желательно написание юнит-тестов, проверяющих расчет.
- Java 17
- Maven
- SpringBoot
- SpringMVC
- jUnit
- MockMvc
- Swagger
- Docker
Запрос со средней зарплатой и количеством дней отпуска:
http://localhost:7070/calculate?vacationDays=28&averageSalary=40000
Response:
{ "message": "The amount of vacation pay (without NDFL)", "vacationPay": 33256.32 }
Запрос со средней зарплатой и датами отпуска:
http://localhost:7070/calculate?vacationDays=28&startDateOfVacation=2024-01-01&endDateOfVacation=2024-01-30
Response:
{ "message": "The amount of vacation pay (without NDFL)", "vacationPay": 19003.04 }
Собрать проект:
mvn clean package
Собрать docker image:
docker build -t vacation-pay-calculator .
Запустить docker container:
docker run -p 7070:8080 vacation-pay-calculator
Остановить docker container:
docker stop vacation-pay-calculator
Swagger-ui:
http://localhost:7070/swagger-ui/index.html
Api docs:
http://localhost:7070/v3/api-docs
Запрос со средней зарплатой и количеством дней отпуска:
Запрос со средней зарплатой и датами отпуска: