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

При создании протоколов ОАО "РЖД", в которых разбираются нарушения перевозочного процесса или иные инциденты, возникшие по вине работников подразделений, возникает необходимость в указании информации, касающейся продолжительности работы в компании, стажа в должности, информации об образовании. Чтобы получить эти данные, инженеру приходится обращаться в отдел кадров, где, в свою очередь, получат информацию в системе управления трудовыми ресурсами. При автоматизированном создании документов с помощью приложения "Помощник инженера РЖД" вышеописанный процесс упрощается за счет отправки запроса в данный сервис и получения нужных данных.
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 и др.)
Инструкция по запуску приложения локально:
- Для запуска приложения необходимо программное обеспечение
- Git (вариант гайда по установке - https://learn.microsoft.com/ru-ru/devops/develop/git/install-and-set-up-git);
- JDK (java SE21, вариант гайда по установке - https://blog.sf.education/ustanovka-jdk-poshagovaya-instrukciya-dlya-novichkov/);
- Apache Maven (вариант гайда по установке на Windows - https://byanr.com/installation-guides/maven-windows-11/);
- СУБД PostgreSQL, желательно актуальной версии.
- Запустить терминал/командную строку/PowerShell, выполнить команды:
cd [целевая директория для загрузки проекта]
git clone https://gitverse.ru/ruyappy/employee-data-extractor.git
cd employee-data-extractor/
mvn install
cd server/
mvn spring-boot:run
- Перед запуском приложения убедитесь, что порт 8072 свободен - по умолчанию на него будут приниматься http-запросы в соответствии с API (http://localhost:8072/). В случае необходимости можно поменять соответствующую настройку в файле application.properties