비철금속·고철 스크랩을 판매자와 구매자가 직접 탐색하고 제안·확정까지 진행하는 B2B 거래마켓을 React + Node.js 기반으로 설계·구현합니다.
비철금속·고철 스크랩을 판매자와 구매자가 직접 탐색하고 제안·확정까지 진행하는 B2B 거래마켓을 React + Node.js 기반으로 설계·구현합니다. 품목·등급·지역·수량 조건별 검색 필터와 거래번호 자동생성 트랜잭션을 핵심으로 합니다.
작업 범위
주요 업무

판매자가 등록한 비철금속 물량을 품목·등급·지역·수량 조건으로 검색하고 카드 그리드에서 한눈에 비교하는 화면. 검색 조건을 URL 쿼리스트링으로 동기화해 필터 상태 공유가 가능한 거래시장 페이지를 구현합니다.
필터 조건을 URL 쿼리스트링과 동기화하는 구조를 설계하여 검색 결과 링크 공유가 가능한 거래시장 화면을 구현합니다.

판매자가 품목·등급·예상중량·지역·희망가격·출고 가능일을 입력하고 사진을 첨부해 물량을 등록하는 화면. 단계별 입력 폼과 이미지 업로드 미리보기를 결합해 등록 완료 후 즉시 거래시장에 반영되는 구조로 구현합니다.
등록 폼 검증부터 이미지 업로드, 상태 배지 표시까지 하나의 플로우로 묶어 판매자가 1회 진입으로 물량 등록을 완료할 수 있는 구조를 구현합니다.

구매자가 물량에 구매수량·단가·거래조건을 제안하고, 판매자가 수락하면 거래번호가 자동 생성되며 거래가 확정되는 화면.
제안 수락과 동시에 거래번호를 자동 생성하고 물량·제안·거래처 데이터를 원자적으로 연결하는 트랜잭션 구조를 구현합니다.

판매자·구매자가 본인이 등록한 물량, 제안 현황, 거래 이력과 단계별 증빙자료를 한 화면에서 조회하는 마이페이지.
물량·제안·거래이력을 탭 구조로 분리하고 각 탭에 독립적인 캐시 전략을 적용해 전환 시 재요청을 최소화하는 마이페이지를 구현합니다.

물량·제안·거래·정산 흐름 분석, PostgreSQL 테이블 18개 정의 및 관계 매핑
Express 기반 물량 검색 API 구현, 품목·등급·지역·수량 4종 동적 필터 쿼리 빌더 설계
React 기반 등록 폼·제안 플로우 구현, React Hook Form + Zod 검증 적용
거래번호 자동 채번 트랜잭션 구현, API-프론트엔드 통합 테스트 및 크로스 브라우저 검증