건설·시설물 안전진단 업체가 점검 데이터를 업로드하면 관리자가 처리 결과를 반영하는 B2B SaaS의 맞춤 구현한 프로젝트입니다.
건설·시설물 안전진단 업체가 점검 데이터를 업로드하면 관리자가 처리 결과를 반영하는 B2B SaaS의 맞춤 구현한 프로젝트입니다. 인프라 점검 현장에서 발생하는 LiDAR 점군·궤적·RGB/Depth 이미지·캘리브레이션 자료를 7단계 위저드로 업로드하고, 상태별 현황 대시보드와 결과 HTML 격리 확인 화면을 React + Node.js 기반으로 구현합니다.
작업 범위
주요 업무



로그인한 사용자가 자신이 업로드한 점검 건을 접수완료·분석중·분석완료·보완요청 상태별로 한눈에 확인할 수 있는 현황 대시보드입니다. 다건의 점검을 동시에 관리하는 안전진단 현장의 업무 흐름을 반영합니다.
React Query 기반 폴링으로 관리자 처리 결과가 별도 새로고침 없이 사용자 화면 상태 배지에 반영되는 구조를 설계합니다.


구조물명·유형·점검일 등 기본 정보 입력부터 LiDAR 점군(.pcd), 위치 궤적(.txt), RGB·Depth 이미지, 캘리브레이션(json) 업로드, 최종 확인까지 7단계로 나눈 업로드 위저드를 구현합니다.
S3 멀티파트 업로드와 재개형(resume) 업로드 로직을 조합해 대용량 파일 전송 중단에도 처음부터 다시 올리지 않도록 설계합니다.


관리자가 업로드한 3D 외관조사망도 결과 HTML(약 3MB, 외부 분석 프로그램의 산출물)을 사용자가 웹 화면에서 안전하게 확인하고 다운로드할 수 있도록 sandboxed iframe으로 격리 표시합니다.
sandboxed iframe과 blob URL 조합으로 외부에서 생성된 결과 HTML을 안전하게 격리 표시하면서도 다운로드 경험을 자연스럽게 연결하는 구조를 설계합니다.


이용 권한이 부여된 계정만 점검 업로드·결과 확인 기능이 활성화되고, 권한이 없는 계정은 자동으로 구매 문의 안내 화면으로 분기됩니다.
권한 미부여 계정의 진입을 기능 단위가 아닌 라우트 단위에서 선제적으로 분기하여 UI 노출과 API 접근을 함께 통제합니다.


7단계 업로드 항목·검증 규칙 정의, PostgreSQL 점검/파일 테이블 설계 및 상태 워크플로우 매핑
S3 presigned URL 발급, 분할 업로드·이어올리기 API, 상태 전환 API를 Express 기반으로 구현
React 7단계 위저드, 마스터-디테일 대시보드, sandboxed 결과 뷰어 화면 구현
이용 권한 라우트 가드 적용, 업로드~결과확인 전체 플로우 통합 테스트 수행