프로젝트 배경
1) 예상 리스크 및 대응 계획 - 평정 결과 집계 쿼리가 대용량 데이터에서 응답 지연을 유발할 수 있어 Materialized View 갱신 전략과 Redis 캐시 레이어 설계 필요 - 연도별 평가 항목 구성이 달라 과거와 현재 평정 결과를 동일 축으로 비교할 때 항목 정규화 기준 설계 필요 - Puppeteer 기반 PDF 렌더링이 서버 리소스를 집중 소비하여 동시 요청 처리를 위한 큐 기반 순차 실
프로젝트 성과
Materialized View 기반 분석 집계 구조 설계
부서별·직급별·연도별 집계를 PostgreSQL Materialized View 3개로 구조화, REFRESH CONCURRENTLY로 무중단 갱신 구조 설계
Bull Queue 비동기 보고서 생성 파이프라인 구현
다수 보고서 동시 생성을 Bull Queue로 직렬화 처리, 작업 완료 시 SSE로 실시간 알림, 실패 시 3회 자동 재시도 정책 적용
Window Function 기반 연도별 상대 순위 산출 구현
RANK OVER PARTITION BY year, grade 쿼리로 동일 직급 내 연도별 상대 순위를 단일 쿼리에서 산출, N+1 쿼리 방지 구조 설계
행별 오류 피드백 엑셀 업로드 검증 로직 구현
xlsx 파싱 후 행·열 위치 기반 유효성 오류 맵 생성, 오류 행 강조 리포트를 프론트엔드에 구조화하여 전달하는 API 설계
핵심 기능
진행 단계
분석 요구사항 정의 및 데이터 모델 확장
2026.04
연도별 비교·집계 분석 요구사항 정의, Materialized View 3개 설계, Redis 캐시 키 전략 수립 및 스키마 확장
프로젝트 상세
1) 포트폴리오 소개 MVP 평정 워크플로우 위에 종합 분석 대시보드, 연도별 평정 추이 비교, 결과 보고서 자동 생성, 엑셀 I/O를 통합한 인사평정 분석 플랫폼을 React + Node.js + PostgreSQL + Redis 기반으로 설계·구현합니다. 평정 결과 기반 KPI 시각화와 자동화된 보고서 생성 파이프라인을 통해 인사부서의 의사결정 지원 기능을 확장합니다. 2) 작업 범위 - 종합 분







