안홍준
λ 500 NM · PLATFORM / APP
케이스 05 / 09English3D로 보기

문제

TCG·스포츠카드 수집가를 위한 등록·검색, 경매, 채팅, 에스크로 결제·판매자 정산, 시세를 웹과 앱 한 코드로 만들어야 했습니다.

결정

  1. 시세: eBay 활성 호가에는 저가 미끼·오타 앵커가 섞이고 표본 n≤9가 81%라 중앙값·가중평균은 의미가 없었습니다. 상·하위 각 1건을 잘라 낸 뒤 최솟값을 쓰고, 표본 3건 미만은 표시하지 않습니다.
  2. 자동 구매확정은 발송 등록 + 7일로, PG의 6일보다 항상 먼저입니다. 10일 미발송 자동취소는 전자상거래법 환급 의무 논리로 유지하도록 클라이언트를 설득했습니다.
  3. 수수료 기준을 배송비 포함 총액으로 통일했습니다.

부서진 곳과 고친 방법

  1. 경매 오픈 전 점검에서 에스크로 모드 낙찰 대금을 낼 경로가 없다는 것을 찾아, 낙찰 전용 결제 RPC를 새로 만들었습니다.
  2. 알림을 눌러도 이동이 안 됐습니다. 같은 이름 라우트가 탭과 스택 두 곳에 있어 중첩 이동이 경고 없이 버려졌습니다. 루트 전체 경로로 통일해 실클릭 10/10.

결과

  • 테이블 74 · 외래키 99 · 트리거 34 · 함수 242 · 뷰 8
  • Deno 테스트 119(자금 경로 서명 30 포함), 커밋 게이트
  • 마이그레이션마다 프로덕션 BEGIN…ROLLBACK 드라이런 4~11 시나리오
  • 마이그레이션 270개 이상 · 어드민 화면 18개
  • 발주자가 웹·앱에서 보고한 결함 전부 실결함 확인·수정
역할1인, 기획 협업부터 스토어 제출까지
기간다단계 계약
상태iOS 출시
스택React Native · Expo SDK 54 · TypeScript · Supabase · Edge Functions