
무엇
관세청 공매 공고에 흩어진 물품을 한곳에 모아, 지금 얼마이고 다음 회차에 얼마가 되는지 보여주는 서비스입니다.
왜 만들었나
공고가 HWP·PDF 첨부로만 올라와서, 무엇이 얼마에 나왔는지 알려면 파일을 하나씩 열어야 했습니다.
풀려는 문제
세관공매는 회차마다 시작가의 10%씩 값이 내려가는데, 그 일정과 하한가가 공고 첨부 안에만 있습니다. 그래서 정보 자체가 유료 강의로 팔립니다.
해결
서울 리전 서버의 타이머가 하루 두 번 공고를 수집해 물품 단위로 정규화합니다. 하한가는 관세법 기준으로 계산하고 공고의 실제 최종가와 대조했습니다. 402건 중 399건이 일치했습니다.
만든 것
- 공고 62건에서 물품 1,342건을 정규화. 6회차 일정은 공매 공고 45건 중 40건에서 확보했습니다
- 하한 = max(시작가 50%, 제세총액) 계산을 파이프라인과 SQL 뷰 양쪽에 구현. 세금 비중이 큰 주류는 60% 선에서 멈춥니다
- 생애주기 뷰로 끝난 공고를 걸러냅니다. 적재분 대부분이 종료된 기록이라, 거르지 않으면 작년 경매가 현재가로 보입니다
- 관세청이 해외 IP를 자주 끊어서 GitHub Actions 대신 서울 리전 VPS의 systemd 타이머로 옮겼습니다. 미국 러너에서는 3회 중 2회가 첫 요청에서 거부됐습니다
- 스캔 공고문만 OCR로 넘기고, 판독한 일정은 날짜 역행·회차 불연속 같은 형태 검증을 통과해야 채택합니다
- 입찰 대행과 보증금 수취는 법적으로 불가해 설계에서 배제했습니다. robots.txt가 막는 경로는 수집하지 않습니다
기술
Next.js 16ExpoSupabaseTurborepoVercel AI GatewayOracle VPS
다음