employee-data-extractor

0

Описание

Один из модулей проекта "Помощник инженера "РЖД", отвечающий за получение расширенной информации о работниках предприятий.

Языки

  • Java100%
README.md

English

Employee-data-extractor


Один из модулей проекта "Помощник инженера "РЖД", отвечающий за получение расширенной информации о работниках предприятия, такой как стаж работы в должности, образование, год окончания учебного заведения. Имитирует подключение к базе данных системы управления трудовыми ресурсами.


asutr.jpg

При создании протоколов ОАО "РЖД", в которых разбираются нарушения перевозочного процесса или иные инциденты, возникшие по вине работников подразделений, возникает необходимость в указании информации, касающейся продолжительности работы в компании, стажа в должности, информации об образовании. Чтобы получить эти данные, инженеру приходится обращаться в отдел кадров, где, в свою очередь, получат информацию в системе управления трудовыми ресурсами. При автоматизированном создании документов с помощью приложения "Помощник инженера РЖД" вышеописанный процесс упрощается за счет отправки запроса в данный сервис и получения нужных данных.


API приложения представляет собой один эндпоинт, принимающий массив целочисленных значений - табельных номеров (они же идентификаторы в БД). Возвращает DTO с требуемыми для описания сотрудника данными. Microsoft Excel таблица с используемыми вымышленными данными и OpenAPI-спецификация с отражением эндпоинта и DTO модели представлены в папке doc.


Версия Java - 21;

Приложение работает на фреймворке Spring Boot v. 3.3.3;

Система сборки - Apache Maven;

База данных - PostgreSQL, система миграции данных - flyway;

Обращение к БД и мэппинг сущностей - spring-boot-starter-data-jpa, hibernate;

Тестирование - JUnit, spring-boot-test, Mockito;


Сервис разделен на 3 рабочих и 1 вспомогательный модули:

client - содержит spring-component(@Service) клиент, позволяющий отправить http-запрос к данному сервису и обработать ответ для получения необходимых данных.

dtos - содержит модель DTO возвращаемых данных и утилитарный класс для создания тестового объекта.

server - содержит логику получения и обработки запроса данных о сотрудниках.

commonclasses - модуль проекта "Помощник инженера "РЖД", содержит общие для всех модулей данные (исключения, DTO и др.)


Инструкция по запуску приложения локально:

  1. Для запуска приложения необходимо программное обеспечение
  1. Запустить терминал/командную строку/PowerShell, выполнить команды:
cd [целевая директория для загрузки проекта] git clone https://gitverse.ru/ruyappy/employee-data-extractor.git cd employee-data-extractor/ mvn install cd server/ mvn spring-boot:run
  1. Перед запуском приложения убедитесь, что порт 8072 свободен - по умолчанию на него будут приниматься http-запросы в соответствии с API (http://localhost:8072/). В случае необходимости можно поменять соответствующую настройку в файле application.properties