← 포트폴리오 목록

특성화고 학생 성장관리 플랫폼

학생이 졸업인증 진행 상황과 관심기업 맞춤 진단을 한 화면에서 확인할 수 있는 특성화고 학생 성장관리 플랫폼을 React와 Node.js 기반으로 설계·구현합니다.

5영역 배점 자동 산출 엔진 설계성실·학업·자격증·행사·인성 5영역 가중 배점 로직 구현, 학년별 초기화·누적 규칙 분기 처리
기업별 가중치 재계산 알고리즘 구현관심기업 선택 시 커트라인·부족분을 실시간 재산출하는 벡터 가중합 로직 설계
엑셀 파싱 자동 채점 파이프라인 구축xlsx 파서로 성적·출결 원자료를 검증 후 점수 테이블에 매핑하는 배치 처리 구조 구현
서비스 타입Web
업종데이터 분석
기술 스택
ReactTypeScriptTailwind CSSNode.jsExpressPostgreSQLPrismaRecharts
주요 기능
  • 졸업인증 현황 대시보드
  • 관심기업 모의 지원 진단
  • 나이스 엑셀 업로드 자동 채점
  • 학교생활 기능
Overview

프로젝트 개요

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

학생이 졸업인증 진행 상황과 관심기업 맞춤 진단을 한 화면에서 확인할 수 있는 특성화고 학생 성장관리 플랫폼을 React와 Node.js 기반으로 설계·구현합니다. 5영역 배점 규칙을 반영한 인증 점수 산출 엔진과 나이스 엑셀 업로드 자동 채점 파이프라인을 핵심으로, 관심기업 가중치 기반 모의 지원 진단과 최단경로 추천 로직을 구현합니다.

작업 범위

  • 졸업인증 현황 대시보드: 학생이 5개 영역(성실·학업/영어·자격증·직업공통/행사·예체능/인성)별 인증 진행 상황과 학년별 등급 기준 충족 여부를 한눈에 확인합니다
  • 관심기업 모의 지원 진단: 학생이 관심기업을 선택하면 해당 기업의 가중치 기준으로 종합 점수와 커트라인 대비 부족분을 즉시 재계산해 보여주고, 부족 영역을 채우는 최단경로를 추천합니다
  • 나이스 엑셀 업로드 자동 채점: 교사가 성적·출결 엑셀 파일을 업로드하면 형식을 자동 파싱해 인증 점수 테이블에 반영하고, 연 2회 갱신 주기에 맞춘 이력을 관리합니다
  • 학교생활 기능: 학생이 가정통신문을 확인하고 교외 체험활동·상담을 신청하며, 참여 시 관련 인증 점수가 자동 반영되는 흐름을 제공합니다

주요 업무

  • 졸업인증 현황 대시보드 화면: 영역별 배점 규칙과 학년별 초기화/누적 로직을 서버에서 계산해 프론트에 요약 지표로 전달하는 구조로 구현합니다
  • 관심기업 모의 지원 진단 화면: 기업별 가중치 벡터와 학생 점수 벡터의 가중합을 서버에서 계산하고, 부족 항목은 그래프 탐색으로 최소 노력 경로를 산출하는 구조로 구현합니다
  • 나이스 엑셀 업로드 자동 채점 화면: xlsx 파서로 원자료를 검증 후 배점 규칙 엔진에 매핑하는 파이프라인으로 구현합니다
  • 학교생활 기능 화면: 표준 알림 발송 API 연동 인터페이스로 가정통신문·일정 알림을 발송하고, 체험활동 참여 승인 시 인증 점수 테이블을 갱신하는 구조로 구현합니다
특성화고 학생 성장관리 플랫폼
요구사항 정의

프로젝트 핵심 과제

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

5영역 배점 기준이 학년별로 다르게 초기화·누적되는 규칙을 일관된 데이터 모델로 설계해야 하는 과제

기업별 인재상 가중치가 실시간으로 바뀔 때 모의 진단 결과를 즉시 재계산하는 성능 최적화 과제

나이스 엑셀 양식이 학교마다 조금씩 다를 수

유연한 파싱 규칙을 설계해야 하는 과제

미성년 학생의 성적·상담 기록을 다루므로 세분화된 접근 권한과 암호화 전략이 필요한 과제

구현 내용

핵심 기능 상세

핵심 기능 1

졸업인증 현황 대시보드

학생이 5개 영역(성실·학업/영어·자격증·직업공통/행사·예체능/인성)별 인증 진행 상황과 학년별 등급 기준 충족 여부를 한눈에 확인합니다.

  • PostgreSQL에 영역별 배점 규칙 테이블을 정규화하여 학년별 초기화/누적 조건을 데이터로 관리
  • React Query로 인증 현황 데이터를 캐싱하고 Recharts 레이더 차트로 5영역 균형을 시각화
  • 학년 전환 시점에 초기화 대상 영역만 선택적으로 리셋하는 배치 로직 구현

5영역 배점 규칙을 룰 엔진 형태로 분리 설계하여 배점 기준 변경 시 코드 수정 없이 데이터만 갱신되는 구조를 구현합니다.

졸업인증 현황 대시보드
졸업인증 현황 대시보드 실제 화면
핵심 기능 2

관심기업 모의 지원 진단

학생이 관심기업을 선택하면 해당 기업의 가중치 기준으로 종합 점수와 커트라인 대비 부족분을 즉시 재계산해 보여주고, 부족 영역을 채우는 최단경로를 추천합니다.

  • 기업별 가중치를 JSON 설정으로 관리하고 가중합 계산 함수를 순수 함수로 분리해 테스트 용이성 확보
  • 4개 분야별 진단 결과를 탭 UI로 분리하고 Zustand로 선택 기업 상태를 전역 관리
  • 부족 영역 탐색에 가중치 기반 최단경로 알고리즘을 적용해 우선순위 리스트 생성

기업 선택 시 클라이언트 재계산 없이 서버 API 응답만으로 커트라인·부족분·추천 경로를 동시에 갱신하는 구조를 구현합니다.

관심기업 모의 지원 진단
관심기업 모의 지원 진단 실제 화면
핵심 기능 3

나이스 엑셀 업로드 자동 채점

교사가 성적·출결 엑셀 파일을 업로드하면 형식을 자동 파싱해 인증 점수 테이블에 반영하고, 연 2회 갱신 주기에 맞춘 이력을 관리합니다.

  • SheetJS 기반 xlsx 파서로 업로드 파일의 컬럼 구조를 검증하고 오류 행을 별도 리포트로 분리
  • 업로드 이력을 버전 테이블로 관리해 연 2회 갱신 시점별 스냅샷 비교 기능 구현
  • 파싱 실패 행에 대한 재업로드 워크플로우를 큐 기반으로 설계

엑셀 원자료 검증부터 점수 반영까지 검증·매핑·반영 3단계 파이프라인으로 분리해 부분 실패 시 되돌리기가 가능한 구조를 구현합니다.

나이스 엑셀 업로드 자동 채점
나이스 엑셀 업로드 자동 채점 실제 화면
핵심 기능 4

학교생활 기능

학생이 가정통신문을 확인하고 교외 체험활동·상담을 신청하며, 참여 시 관련 인증 점수가 자동 반영되는 흐름을 제공합니다.

  • 표준 알림 발송 API 연동 인터페이스를 추상화하여 채널별 발송 로직을 분리 설계
  • 체험활동 신청 승인 시 인증 점수 테이블에 트랜잭션으로 반영하는 구조 구현
  • 상담 신청 상태를 대기/진행/완료 단계로 관리하는 상태 머신 설계

체험활동 참여와 인증 점수 반영을 하나의 트랜잭션으로 묶어 부분 반영 오류를 방지하는 구조를 구현합니다.

학교생활 기능
학교생활 기능 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

요구사항 분석 및 인증 점수 산출 로직 설계 · 2026.09

5영역 배점 규칙·학년별 등급 기준 분석, PostgreSQL 스키마 18개 테이블 설계

STEP 2

백엔드 API 및 나이스 업로드 파서 개발 · 2026.09

Express 기반 REST API 구현, 엑셀 파싱 모듈로 성적·출결 데이터 자동 채점 처리

STEP 3

학생 대시보드 UI 및 모의 진단 엔진 개발 · 2026.09

React 기반 졸업인증 현황·모의 지원 진단 화면 구현, 기업별 가중치 재계산 로직 적용

STEP 4

학교생활 기능 및 통합 테스트 · 2026.09

가정통신문·체험활동·상담 신청 흐름 구현, API 통합 테스트 및 반응형 검증

프로젝트 성과

주요 성과

5영역 배점 자동 산출 엔진 설계성실·학업·자격증·행사·인성 5영역 가중 배점 로직 구현, 학년별 초기화·누적 규칙 분기 처리
기업별 가중치 재계산 알고리즘 구현관심기업 선택 시 커트라인·부족분을 실시간 재산출하는 벡터 가중합 로직 설계
엑셀 파싱 자동 채점 파이프라인 구축xlsx 파서로 성적·출결 원자료를 검증 후 점수 테이블에 매핑하는 배치 처리 구조 구현
최단경로 추천 알고리즘 설계부족 인증 항목을 최소 노력으로 채우는 경로를 그래프 탐색으로 계산하는 추천 로직 구현
Highlights

기술적 주안점

  • 5영역 배점 규칙을 룰 엔진 형태로 분리 설계하여 배점 기준 변경 시 코드 수정 없이 데이터만 갱신되는 구조를 구현합니다
  • 기업 선택 시 클라이언트 재계산 없이 서버 API 응답만으로 커트라인·부족분·추천 경로를 동시에 갱신하는 구조를 구현합니다
  • 엑셀 원자료 검증부터 점수 반영까지 검증·매핑·반영 3단계 파이프라인으로 분리해 부분 실패 시 되돌리기가 가능한 구조를 구현합니다

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

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

무료 상담 시작하기