식품 시료 분석 기관을 위한 온라인 의뢰관리 시스템입니다.
식품 시료 분석 기관을 위한 온라인 의뢰관리 시스템입니다. 고객의 분석의뢰서 작성부터 비회원 진행조회, 관리자의 접수·분석·성적서 발송까지 핵심 워크플로우를 마스터-디테일 구조로 구현하며, React와 Node.js/Express, PostgreSQL 기반 풀스택으로 설계합니다.
작업 범위
주요 업무



관리자가 접수된 의뢰 목록을 좌측 리스트에서 검색·필터링하고, 우측 상세 패널에서 시료 정보·시험항목·첨부파일·상태 이력을 한 화면에서 확인합니다.
리스트-상세 동기화 상태 관리와 상태 전이(state machine) 검증 로직을 함께 구현하여, 정의되지 않은 순서로의 상태 변경을 서버 단에서 차단하는 구조를 설계합니다.


고객이 의뢰기관·의뢰자 정보, 시료명·수량, 검사 업무구분, 식품규격·시험항목, 첨부파일(최대 20MB·5개)을 단계별 폼으로 입력하고 제출합니다.
식품규격·시험항목 마스터를 참조하는 동적 폼 엔진을 구현하여, 항목 추가·변경 시 폼 코드 수정 없이 마스터 데이터만으로 화면이 갱신되는 구조를 설계합니다.


접수번호와 이메일로 본인확인 후, 분석·정산·전달 상태와 이메일 발송일시·우편 등기번호·방문수령 가능일을 조회합니다.
회원가입 없이도 접수번호와 이메일만으로 안전하게 본인확인을 처리하는 OTP 인증 플로우를 구현하여, 비회원 조회의 보안성과 편의성을 함께 확보하는 구조를 설계합니다.


관리자가 확정 성적서 PDF를 업로드하고 수신정보를 확인한 뒤 발송을 실행하면, 이메일 첨부 발송과 발송 이력이 자동 기록됩니다.
업로드 즉시 자동발송하지 않고 관리자 확인을 거치는 2단계 발송 구조와, 발송 실패 건을 자동 분류하는 재발송 큐를 함께 구현하여 오발송 리스크를 관리 가능한 구조로 설계합니다.


의뢰-분석-정산 워크플로우 분석, PostgreSQL 테이블 18개 정의 및 상태 전이 모델 설계
Express 기반 의뢰 CRUD·식품규격/시험항목 마스터 조회 API 22개 구현
React 기반 접수관리·상세패널 화면과 비회원 OTP 인증 플로우 8개 구현
이메일 발송 API 연동, 발송 이력 관리 기능 구현, API 통합 테스트 30여 케이스 작성