프로젝트 배경
1) 문제점 - MMPI·BDI·BAI 등 검사마다 문항 수(30~567문항), 응답 유형(리커트/이분), 채점 규칙(역채점·하위 척도)이 전혀 달라 단일 검사 엔진으로 통합하기 어려웠던 문제 — JSON 스키마로 문항 구조를 선언적으로 정의하고, 채점 로직을 플러그인 패턴으로 분리하여 검사별 독립 처리 - 사전-사후 비교 분석에서 내담자가 여러 검사를 서로 다른 시점에 실시하여 데이터 정렬이 불규칙한 문
프로젝트 성과
JSON 스키마 기반 범용 심리검사 실시 엔진 구현
MMPI·BDI·BAI 등 검사별 문항 구조(리커트/이분/복수선택)를 JSON 스키마로 정의하고, 동적 렌더링 엔진으로 하나의 컴포넌트가 모든 검사 유형을 처리하는 범용 구조 설계
역채점·하위 척도 자동 채점 플러그인 아키텍처 구축
검사별 역채점 문항 번호, 하위 척도 매핑, T점수 변환 테이블을 플러그인으로 분리하여, 새 검사 추가 시 채점 로직 JSON 파일만 등록하면 자동 처리되는 확장 가능한 채점 시스템 구현
사전-사후 비교 + ANOVA 통계 분석 통합 구현
jStat으로 대응표본 t-test와 일원분산분석(ANOVA F-test)을 구현하고, p값·효과크기(eta-squared)를 카드 UI로 표시, 분석 결과를 CSV/Excel로 내보내는 연구 분석 워크플로우 설계
내담자 검사 이력 타임라인 마스터-디테일 UI 설계
38%:62% 마스터-디테일 분할로 내담자 목록 컨텍스트를 유지하며, CSS pseudo-element 수직 타임라인에 검사 이력 카드를 시간순 배치, RadarChart 미니 프로파일 요약 통합
상담사 내담자 배정 드래그앤드롭 관리 구현
HTML5 DnD API로 내담자를 상담사 카드에 드래그앤드롭 배정, 최대 담당 인원 제한 검증을 NestJS Guard에서 서버사이드로 처리하고, 배정 이력을 자동 기록하는 관리 시스템 구현
핵심 기능
진행 단계
심리검사 도메인 모델링 및 NestJS 모듈 아키텍처 설계
2025.12.
내담자·검사·결과·상담사 4개 도메인을 NestJS 독립 모듈로 분리하고, TypeORM 엔티티 20개 화면 기준 테이블 설계, Redis 기반 검사 세션 캐싱 및 실시간 채점 큐 구조 수립
프로젝트 상세
1) 포트폴리오 소개 심리상담 센터 및 연구기관을 위한 심리검사 실시·통계 분석·내담자 관리를 통합한 차세대 플랫폼을 Node.js + NestJS + PostgreSQL + Redis 기반으로 설계·구현했습니다. 마스터-디테일 분할 레이아웃으로 내담자별 검사 이력 타임라인, 다검사 비교 분석 대시보드, 연구용 데이터 내보내기, 상담사별 내담자 배정 관리를 구현하여 심리 검사·상담·연구를 하나의 워크스페이스







