프로젝트 배경
1) 예상 리스크 및 대응 계획 - 다중 학생 동시 접속 시 제출 데이터 누락을 방지하는 트랜잭션 격리 수준 설계 필요 - 클라이언트 시계 오차와 네트워크 지연을 보정하는 서버 동기화 타이머 로직 설계 필요 - 가상 유저 부하 테스트로 동시 제출 처리 한계를 사전에 검증하는 시나리오 구성 필요 - 학생 성적·개인정보 데이터의 열람 범위를 세분화하는 역할 기반 권한 체계 설계 필요 2) 프로젝트 목
프로젝트 성과
동시 제출 트랜잭션 처리 구조 설계
PostgreSQL 행 단위 락과 제출 큐를 결합해 동시 접속 상황에서도 데이터 누락 없는 제출 처리 구조를 구현합니다.
서버 동기화 타이머 엔진 구현
WebSocket 기반 서버 기준 시각 동기화로 클라이언트 시계 오차와 무관하게 일관된 시험 종료 시점을 유지하는 구조를 설계합니다.
이벤트 기반 자동 채점 파이프라인 구축
제출 이벤트를 트리거로 즉시 채점이 실행되는 파이프라인과 난이도별 정답률 집계 쿼리를 설계합니다.
역할 기반 성적 데이터 접근 제어 설계
JWT 인증과 역할별 권한 분리로 학생 개인정보와 성적 데이터 열람 범위를 제한하는 구조를 구축합니다.
핵심 기능
진행 단계
문제은행 스키마 및 ERD 설계
2026.07
문항·보기·정답·카테고리 테이블 설계, PostgreSQL 인덱스 전략 수립
프로젝트 상세
1) 포트폴리오 소개 문제은행 기반 실시간 모의고사 응시, 서버 동기화 타이머, 동시 제출 트랜잭션 처리, 자동 채점을 포함한 온라인 시험 응시 플랫폼을 React + Node.js/Express + PostgreSQL 기반으로 설계·구현합니다. 다수 학생이 한 시각에 접속해도 데이터 정합성을 보장하는 구조가 핵심입니다. 2) 작업 범위 - 실시간 응시 화면: 학생이 문제은행에서 불러온 문항을 순서대








