해외 학술 논문 저장소에서 반복적으로 발생하는 PDF 인코딩/디코딩 오류, DB 매핑 오류, PDF 뷰어 렌더링 오류를 레거시 코드 분석과 버그 픽스 관점에서 직접 재현하고 해결하는 프로젝트입니다.
해외 학술 논문 저장소에서 반복적으로 발생하는 PDF 인코딩/디코딩 오류, DB 매핑 오류, PDF 뷰어 렌더링 오류를 레거시 코드 분석과 버그 픽스 관점에서 직접 재현하고 해결하는 프로젝트입니다. PHP 디버깅으로 원인을 특정하고, 기존 서버 배포 환경과 호환되는 구조로 PHP + Laravel 백엔드와 React 프론트엔드를 구현합니다.
작업 범위
주요 업무



연구자가 PDF 논문 파일을 업로드하면 문자 인코딩과 바이너리 손상 없이 서버에 안전하게 저장하고, 다운로드 시에도 원본과 동일한 파일을 내려받을 수 있도록 처리합니다.
업로드부터 다운로드까지 바이너리 무결성을 유지하는 파이프라인을 구현하여 인코딩 깨짐으로 인한 파일 손상 문제를 구조적으로 차단합니다.


연구자가 논문을 다운로드하지 않고도 브라우저 내에서 즉시 PDF 전문을 열람할 수 있는 뷰어 화면을 제공합니다.
브라우저 네이티브 PDF 뷰어 없이도 페이지 넘김·확대/축소·검색이 가능한 인라인 뷰어를 자체 구현합니다.


연구자가 좌측 트리에서 학술 분야별 대단계·소단계 카테고리를 펼쳐가며 해당 분류에 속한 논문 목록을 탐색할 수 있습니다.
카테고리-논문 매핑 오류를 DB 스키마 재설계로 근본 해결하고, 트리 탐색과 목록 필터링이 즉시 반영되는 구조를 구현합니다.


연구자가 논문 상세 화면에서 저자·저널·발행연도·초록·인용정보를 확인하고, 관리자는 같은 화면에서 메타데이터를 직접 수정할 수 있습니다.
메타데이터 등록·수정 시 발생하던 저장 오류를 서버 측 트랜잭션 처리와 입력 검증으로 구조적으로 해소합니다.


기존 논문·카테고리 테이블 관계 분석, 정규화된 매핑 테이블 및 재귀 트리 쿼리 설계
Laravel 기반 업로드 API 구현, 바이너리 세이프 스트림 처리 및 인코딩 정규화 로직 적용
React 기반 트리 사이드바·블록 콘텐츠 화면 구현, PDF.js 뷰어 통합
관리자 편집 폼 검증 로직 구현, 업로드-뷰어-브라우징 전 구간 통합 테스트 수행