← 포트폴리오 목록

협약형 인재양성 통합 플랫폼

협약기업·지자체·교육청·졸업생까지 아우르는 8개 주체 통합 관리 플랫폼을 P1의 학생 중심 구조 위에 확장하여 설계·구현합니다.

다자간 역할 기반 접근 제어 체계 구축8개 주체별 화면·데이터 접근 범위를 계층화한 권한 매트릭스 설계, 라우트·API 이중 검증 적용
데이터 승계 배치 파이프라인 설계진학예정자→재학생→졸업생 전환 시 인증 기록을 자동 이관하는 배치 잡 구조 구현
성과 지표 집계 Materialized View 설계취업률·유지취업률·지역 정착률을 협약교 단위로 집계하는 PostgreSQL Materialized View 4종 설계
서비스 타입Web
업종데이터 분석
기술 스택
ReactTypeScriptTailwind CSSNode.jsExpressPostgreSQLPrismaRechartsRedis
주요 기능
  • 협약기업 인재상 가중치 설정
  • 지자체·교육청 성과 대시보드
  • 졸업생 경력 갱신 및 데이터 승계
  • 8주체 통합 계정·권한 관리
Overview

프로젝트 개요

범위: 개발, 디자인, 기획

협약기업·지자체·교육청·졸업생까지 아우르는 8개 주체 통합 관리 플랫폼을 P1의 학생 중심 구조 위에 확장하여 설계·구현합니다. 기업별 인재상 가중치 설정과 기준통과자 조회, 지자체 성과 대시보드, 진학예정자부터 졸업생까지 이어지는 데이터 승계 파이프라인을 React와 Node.js, Redis 캐싱 기반으로 구현합니다.

작업 범위

  • 협약기업 인재상 가중치 설정: 협약기업 담당자가 자사 인재상에 맞는 평가 항목별 가중치를 설정하고, 기준을 통과한 학생 익명 프로필을 조회합니다
  • 지자체·교육청 성과 대시보드: 지자체·교육청 담당자가 협약교 단위 취업률·유지취업률·지역 정착률을 비교하고 예산 대비 성과 지표를 조회합니다
  • 졸업생 경력 갱신 및 데이터 승계: 졸업생이 본인의 경력 정보를 갱신하고, 진학예정자에서 재학생을 거쳐 졸업생으로 이어지는 인증·포트폴리오 기록을 자동으로 승계받습니다
  • 8주체 통합 계정·권한 관리: 학부모를 포함한 8개 주체가 하나의 시스템에서 역할에 맞는 화면과 데이터 범위로 접근하며, 학부모는 자녀 현황을 동의 범위 내에서 조회합니다

주요 업무

  • 협약기업 인재상 가중치 설정 화면: 가중치 설정값을 기업별 설정 테이블에 저장하고, 기준통과자 조회 시 서버에서 가중합을 재계산해 목록을 생성하는 구조로 구현합니다
  • 지자체·교육청 성과 대시보드 화면: PostgreSQL Materialized View로 집계된 지표를 주기적으로 갱신하고, Recharts로 협약교 간 비교 시각화를 제공하는 구조로 구현합니다
  • 졸업생 경력 갱신 및 데이터 승계 화면: 생애주기 전환 시점(진학예정자→재학생→졸업생)마다 배치 잡으로 기록을 이관하는 파이프라인으로 구현합니다
  • 8주체 통합 계정·권한 관리 화면: 역할 기반 접근 제어를 라우트·API·UI 3중으로 검증하고, 개인정보 동의 범위를 필드 단위로 관리하는 구조로 구현합니다
협약형 인재양성 통합 플랫폼
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

협약기업마다 인재상 가중치 기준이 달라 다차원 스코어링 모델을 유연하게 설계해야 하는 과제

지자체·교육청 단위로 취업률·정착률 지표를 정합성 있게 집계하는 데이터 구조 설계 과제

졸업생 경력 데이터를 장기간 갱신·보관하면서도 개인정보 최소 수집 원칙을 지켜야 하는 과제

8개 주체가 동시 접속하는 상황에서 권한별 데이터 노출 범위를 일관되게 검증해야 하는 과제

구현 내용

핵심 기능 상세

핵심 기능 1

협약기업 인재상 가중치 설정

협약기업 담당자가 자사 인재상에 맞는 평가 항목별 가중치를 설정하고, 기준을 통과한 학생 익명 프로필을 조회합니다.

  • 기업별 가중치 설정 폼을 슬라이더 UI로 구현하고 실시간 미리보기로 기준통과 예상 인원 표시
  • 기준통과자 목록 조회 API에 커서 기반 페이지네이션 적용
  • 학생 동의 범위 내에서만 프로필 상세가 노출되도록 필드 단위 접근 제어 구현

가중치 변경 시 기준통과자 목록을 서버 사이드에서 즉시 재계산해 프론트는 결과만 렌더링하는 구조를 구현합니다.

협약기업 인재상 가중치 설정
협약기업 인재상 가중치 설정 실제 화면
핵심 기능 2

지자체·교육청 성과 대시보드

지자체·교육청 담당자가 협약교 단위 취업률·유지취업률·지역 정착률을 비교하고 예산 대비 성과 지표를 조회합니다.

  • PostgreSQL Materialized View 4종으로 취업률·유지취업률·정착률·예산 대비 성과 집계
  • Redis에 대시보드 조회 결과를 캐싱해 다수 기관 동시 접속 시 응답 구조 최적화
  • 협약교별 비교 차트를 Recharts 복합 차트로 구현해 지표 간 상관관계 시각화

집계 쿼리를 Materialized View로 사전 계산해 실시간 집계 부하를 줄이는 구조를 구현합니다.

지자체·교육청 성과 대시보드
지자체·교육청 성과 대시보드 실제 화면
핵심 기능 3

졸업생 경력 갱신 및 데이터 승계

졸업생이 본인의 경력 정보를 갱신하고, 진학예정자에서 재학생을 거쳐 졸업생으로 이어지는 인증·포트폴리오 기록을 자동으로 승계받습니다.

  • 생애주기 전환 이벤트를 트리거로 하는 배치 잡을 Bull Queue 기반으로 구현
  • 전환 시점별 스냅샷을 별도 이력 테이블에 보관해 승계 이전 데이터를 조회 가능하게 설계
  • 졸업생 경력 갱신 폼에 버전 관리를 적용해 갱신 이력을 추적

생애주기 전환을 이벤트 기반 배치로 처리해 사람이 수동으로 데이터를 옮기지 않아도 되는 구조를 구현합니다.

졸업생 경력 갱신 및 데이터 승계
졸업생 경력 갱신 및 데이터 승계 실제 화면
핵심 기능 4

8주체 통합 계정·권한 관리

학부모를 포함한 8개 주체가 하나의 시스템에서 역할에 맞는 화면과 데이터 범위로 접근하며, 학부모는 자녀 현황을 동의 범위 내에서 조회합니다.

  • 역할별 권한 매트릭스를 DB 테이블로 관리해 코드 변경 없이 권한 정책 조정 가능하도록 설계
  • 학부모 화면에서 자녀 현황 조회 범위를 동의 항목 단위로 마스킹 처리
  • 라우트 가드·API 미들웨어·UI 조건부 렌더링 3중 검증으로 권한 우회 경로 차단

8개 주체의 권한을 단일 매트릭스 테이블로 통합 관리해 신규 주체 추가 시 화면 코드 수정 없이 확장 가능한 구조를 구현합니다.

8주체 통합 계정·권한 관리
8주체 통합 계정·권한 관리 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

다자간 데이터 모델 및 권한 체계 설계 · 2026.09

기업·지자체·졸업생 등 확장 주체별 ERD 설계, 역할 기반 접근 제어 계층 정의

STEP 2

기업 인재상 가중치 엔진 및 API 개발 · 2026.09

Express 기반 가중치 설정·기준통과자 조회 API 구현, Redis 캐싱으로 대시보드 조회 구조 최적화

STEP 3

성과 대시보드 및 데이터 승계 모듈 개발 · 2026.09

Recharts 기반 지자체 성과 시각화, 진학예정자→졸업생 데이터 승계 배치 로직 구현

STEP 4

통합 계정·알림 인터페이스 및 검증 · 2026.09

8주체 계정 통합 관리 화면 구현, 표준 알림 발송 API 연동 인터페이스 설계 및 통합 테스트

프로젝트 성과

주요 성과

다자간 역할 기반 접근 제어 체계 구축8개 주체별 화면·데이터 접근 범위를 계층화한 권한 매트릭스 설계, 라우트·API 이중 검증 적용
데이터 승계 배치 파이프라인 설계진학예정자→재학생→졸업생 전환 시 인증 기록을 자동 이관하는 배치 잡 구조 구현
성과 지표 집계 Materialized View 설계취업률·유지취업률·지역 정착률을 협약교 단위로 집계하는 PostgreSQL Materialized View 4종 설계
알림 발송 인터페이스 추상화 계층 구현표준 알림 발송 API 연동 인터페이스를 채널 독립적으로 추상화하여 확장 가능한 큐 구조 설계
Highlights

기술적 주안점

  • 가중치 변경 시 기준통과자 목록을 서버 사이드에서 즉시 재계산해 프론트는 결과만 렌더링하는 구조를 구현합니다
  • 집계 쿼리를 Materialized View로 사전 계산해 실시간 집계 부하를 줄이는 구조를 구현합니다
  • 생애주기 전환을 이벤트 기반 배치로 처리해 사람이 수동으로 데이터를 옮기지 않아도 되는 구조를 구현합니다

유사한 프로젝트를 기획하고 계신가요?

FIRSTPIP이 개발 범위와 로드맵을 함께 정리해드립니다

무료 상담 시작하기