프로젝트 배경
1) 문제점 예치금 기반 B2B 폐쇄몰은 네 가지 구조적 난제를 동시에 풀어야 합니다. ① 주문 시 잔액·재고·원장이 한 트랜잭션에서 처리되지 않으면 회계 오류 발생, ② 앱 코드에만 의존한 권한 분기는 누락 즉시 타인 데이터 노출, ③ 폴링 방식의 관리자 알림은 지연·비용 문제, ④ shadcn 기본 토큰만으로는 B2B 신뢰감과 데이터 밀도를 동시에 충족할 수 없음. 기존 MVP 코드는 이 네 가
프로젝트 성과
원자 트랜잭션 100% 보장
주문·잔액 차감·재고 차감·원장 기록을 단일 PostgreSQL RPC + FOR UPDATE
행 잠금으로 처리, 동시 요청 시 잔액 음수화·재고 초과 주문을 원천 차단.
행 잠금으로 처리, 동시 요청 시 잔액 음수화·재고 초과 주문을 원천 차단.
DB 레벨 권한 완전 격리
14개 RLS 정책 + SECURITY DEFINER 헬퍼 2종으로 사용자·관리자 권한을
DB에서 통제. 미들웨어 누락 시에도 타인 데이터 접근 불가 구조 달성.
DB에서 통제. 미들웨어 누락 시에도 타인 데이터 접근 불가 구조 달성.
관리자 실시간 주문 알림 구현
Supabase Realtime을 orders 테이블 단독으로 게이팅, 신규 주문 즉시 토스트
알림 제공. 폴링 대비 지연 제거, 불필요한 구독 비용 최소화.
알림 제공. 폴링 대비 지연 제거, 불필요한 구독 비용 최소화.
핵심 기능
진행 단계
설계 및 기획
2026.04.
도메인 분석(돈·권한·실시간·UI 4축) → 7테이블 데이터 모델 및 6개 RPC
인터페이스 정의. 16개 화면 IA 및 디자인 시스템 토큰 결정.
인터페이스 정의. 16개 화면 IA 및 디자인 시스템 토큰 결정.
프로젝트 상세
1) 포트폴리오 소개 예치금 기반 B2B 폐쇄몰로, 기업 구성원이 사전 충전한 잔액으로만 구매하는 임직원몰·복지몰 유형의 서비스입니다. Next.js 14 App Router + Supabase를 기반으로 주문·예치금·권한·실시간 알림까지 풀스택으로 직접 구현하였으며, 7개 테이블·6개 원자 트랜잭션 RPC·14개 RLS 보안 정책·16개 화면을 단독으로 완성했습니다. 2) 작업 범위 - 서비







