quuuuj/hrm

Hrm人事系统:Flowable审批流 + RAG知识库 + 智能问答

数智人事 (HRM System) – AI 강화 인사 관리

이것이 무엇인가

  • Spring Boot 3.4(Java 17) 기반 백엔드와 Vue 2.6 + Element UI 프론트엔드로 구축된 풀스택 HRM(인사 관리) 플랫폼입니다.
  • 일반적인 HR 기능(조직도, 직원 생애주기, 근태, 휴가, 연장근무, 급여, 사회보험, RBAC, 워크플로) 외에도 RAG 기반 지식 베이스를 내장하여 대규모 언어 모델(LLM) 서비스(DashScope 또는 OpenAI 호환)를 사용해 직원의 HR 질문에 답변할 수 있습니다.

의의

  • 전통적인 엔터프라이즈 시스템을 전체 제품을 재작성하지 않고 생성형 AI 기능으로 업그레이드할 수 있는 방법을 보여줍니다.
  • 프레임워크와 독립적으로 단위 테스트할 수 있는 순수 계산 도메인 로직(초과 근무, 급여)의 명확한 분리를 보여줍니다.
  • Flowable 8.0 워크플로 엔진, Spring Security JWT 이중 토큰 인증, 의미 검색을 위한 벡터 저장소(PostgreSQL + pgvector) 통합의 실행 가능한 예제를 제공합니다.

핵심 기능

카테고리 주요 내용
HR 핵심 조직/부서 관리, 직원 프로필, 세분화된 RBAC, 근태 및 출퇴근, 휴가 및 초과 근무 요청, 급여 및 사회보험 설정.
워크플로 Flowable 8.0 네이티브 통합, 워크플로 데이터용 별도 MySQL DB, 부수 효과(예: 휴가 잔여 일수 업데이트)를 위한 리스너.
AI 기반 Q&A RAG 파이프라인: 문서 업로드 → MinIO 저장 → 청크 분할 → 임베딩(DashScope/OpenAI) → pgvector 벡터 DB → 의미 검색 → 직원 컨텍스트(부서, 역할)를 포함한 LLM 생성 답변.
보안 HttpOnly 이중 토큰(access + refresh) 쿠키 저장, Axios 인터셉터를 통한 자동 갱신, XSS 방어, Spring Security RBAC.
인프라 다중 엔진 영속화: MySQL(비즈니스), PostgreSQL + pgvector(벡터), Redis(캐시 및 캡차), MinIO(객체 스토리지).
관측성 Swagger‑UI (OpenAPI 3.1) 자동 생성 문서, 출퇴근 분석용 ECharts 대시보드.

아키텍처 개요

... (same as original) ...

기술 스택

계층 도구 및 버전
언어 Java 17, JavaScript (ES6)
백엔드 프레임워크 Spring Boot 3.4.4, Spring Security 6.x, MyBatis‑Plus 3.5.10
워크플로 엔진 Flowable 8.0.0
AI 통합 Spring AI 1.0.0 (spring‑ai‑alibaba 1.0.0.2), DashScope 또는 OpenAI API 호환
벡터 저장소 PostgreSQL 16 + pgvector 확장
캐시 / 세션 Redis 5.0
객체 저장소 MinIO (S3‑compatible)
프론트엔드 Vue 2.6.14, Element UI 2.15.7, Vue‑Router 3.2, Vuex 3.6, Axios 0.25, ECharts 5.3
컨테이너화 Docker Compose (MySQL, Redis, PostgreSQL, MinIO)
문서 / API SpringDoc OpenAPI 2.8 (Swagger UI)

로컬 시작하기

  1. 미들웨어 시작
    docker compose -f docker/local/docker-compose.yml up -d
    
    (MySQL 8.1, Redis 5, PostgreSQL 16 with pgvector, MinIO)
  2. DB 스키마 가져오기
    mysql -h 127.0.0.1 -P 3306 -uroot -p123456 hrm < db/mysql/hrm.sql
    mysql -h 127.0.0.1 -P 3306 -uroot -p123456 hrm_flowable < db/mysql/hrm_flowable.sql
    psql -h 127.0.0.1 -p 5432 -U hrm -d hrm_kb -f db/postgresql/knowledge_base.sql
    
  3. Configure AI credentials (optional for the smart Q&A)
    # create hrm-server/.env (see .env.example)
    LLM_API_KEY=
    

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트