거래처별 접수·정산 현황을 조회하는 B2B 셀프서비스 포털과 관리자 백오피스를 React + Node.js 기반으로 구현하는 프로젝트입니다.
거래처별 접수·정산 현황을 조회하는 B2B 셀프서비스 포털과 관리자 백오피스를 React + Node.js 기반으로 구현하는 프로젝트입니다. Row-Level Security로 거래처 간 데이터를 격리하고, 인터넷/렌탈/휴대폰 메뉴별 접수·정산 조회 화면과 관리자 수기 등록 기능을 포함합니다.
작업 범위
주요 업무



거래처가 발급받은 계정으로 로그인하면 본인 거래처의 접수·정산 현황만 요약해 보여주는 대시보드입니다.
인증 미들웨어와 DB 레벨 RLS 정책을 이중으로 적용해, 애플리케이션 코드 실수로도 다른 거래처 데이터가 노출되지 않는 구조를 설계합니다.


인터넷/렌탈/휴대폰 메뉴별로 접수 건 목록과 진행 상태(접수 중/접수 완료 등)를 조회할 수 있는 화면입니다.
메뉴별로 스키마가 조금씩 다른 접수 데이터를 하나의 공통 테이블 컴포넌트로 렌더링할 수 있도록 컬럼 설정을 데이터 기반으로 추상화합니다.


인터넷/렌탈/휴대폰 메뉴별 정산 내역을 기간별로 조회할 수 있는 화면입니다. 기간 필터와 메뉴별 정산 합계를 함께 보여주는 테이블 및 요약 카드를 구현합니다.
메뉴별 정산 합계를 서버에서 집계 쿼리로 미리 계산해 내려주어, 대량 데이터에서도 화면 렌더링이 지연되지 않는 구조를 설계합니다.


관리자가 접수·정산 내역을 수기로 등록·수정하고 거래처를 지정할 수 있는 백오피스 화면입니다. 관리자 전용 폼에서 접수·정산 건을 등록하며, 거래처 지정 시 검색형 드롭다운과 진행 상태 변경 UI를 제공합니다.
수기 입력과 향후 자동 연동 데이터가 같은 테이블에 섞여도 구분 가능하도록 입력 소스 컬럼을 두어 데이터 출처를 추적하는 구조를 설계합니다.


거래처·접수·정산 업무 프로세스 분석, PostgreSQL 테이블 8~10개 정의 및 관계 매핑
JWT 인증 미들웨어와 Row-Level Security 정책을 결합한 접수·정산 조회 API 구현
React 기반 접수·정산 조회 화면과 관리자 수기 등록 폼 구현
메뉴별 상태 전이·거래처 데이터 격리 시나리오 통합 테스트 및 크로스 브라우저 검증