문제은행 기반 실시간 모의고사 응시, 서버 동기화 타이머, 동시 제출 트랜잭션 처리, 자동 채점을 포함한 온라인 시험 응시 플랫폼을 React + Node.js/Express + PostgreSQL 기반으로 설계·구현합니다.
문제은행 기반 실시간 모의고사 응시, 서버 동기화 타이머, 동시 제출 트랜잭션 처리, 자동 채점을 포함한 온라인 시험 응시 플랫폼을 React + Node.js/Express + PostgreSQL 기반으로 설계·구현합니다. 다수 학생이 한 시각에 접속해도 데이터 정합성을 보장하는 구조가 핵심입니다.
작업 범위
주요 업무

학생이 문제은행에서 불러온 문항을 순서대로 풀며 남은 시간을 실시간으로 확인하고 답안을 임시 저장하는 응시 화면입니다.
서버 기준 시각을 주기적으로 동기화하는 타이머 엔진을 구현하여, 클라이언트 시계 오차나 네트워크 지연에도 시험 종료 시점을 일관되게 유지하는 구조를 설계합니다.

전체 문항의 답변 상태(미답변/답변완료/검토표시)를 한눈에 확인하고 원하는 문항으로 즉시 이동할 수 있는 네비게이터입니다.
문항 단위 상태 추적과 커맨드 팔레트 이동을 결합하여, 다수 문항을 빠르게 오가며 점검할 수 있는 네비게이션 구조를 설계합니다.

다수 학생이 동시에 답안을 제출하는 상황에서도 데이터 정합성을 보장하는 제출 처리 화면입니다.
동시 제출 상황에서 데이터 정합성을 보장하기 위해 트랜잭션 격리 수준과 락 전략을 조합한 처리 구조를 설계하며, 성능 저하 없이 안정적인 기록을 목표로 합니다.

제출된 답안을 정답과 자동으로 비교해 점수를 산출하고, 문항별 정오 여부를 정리해 보여주는 리포트 화면입니다.
제출과 동시에 채점이 완료되는 파이프라인을 구현하고, 성적·개인정보 데이터는 역할 기반 접근 제어로 보안을 강화하는 구조를 설계합니다.

문항·보기·정답·카테고리 테이블 설계, PostgreSQL 인덱스 전략 수립
Express 기반 응시 세션 API, WebSocket 시간 동기화 모듈 구현
PostgreSQL 트랜잭션·락 전략 적용, 제출 큐 설계로 동시 접속 안정성 확보
React 기반 응시·채점 결과 화면 구현, 문항 네비게이터 컴포넌트 설계