중고책 매입가 비교에서 최고가만 고르면 안 되는 이유: Re:Book 개발 기록
핵심 요약
- 같은 ISBN으로 여러 판본이 나오면 사용자가 책을 확인하기 전까지 그 판매처의 가격을 계산에서 제외합니다.
- 조회 실패와 매입 불가를 구분하고, 재조회에 실패한 과거 가격은 화면에 남겨도 추천 계산에는 쓰지 않습니다.
- 책별 최고가뿐 아니라 판매처별 배송비와 박스 수를 뺀 예상 수령액을 비교합니다.
중고책 여러 권을 팔 때 각 책의 매입가만 비교하면 간단해 보입니다. 하지만 A책은 YES24가 500원 높고 B책은 알라딘이 500원 높더라도, 두 곳에 따로 보내면서 배송비가 붙으면 한 곳에 모아 파는 편이 나을 수 있습니다. 반대로 한 회사에서 매입하지 않는 책까지 억지로 묶을 수는 없습니다. Re:Book(다시, 책)은 이 판단에 필요한 조회·계산·판매 안내를 한 화면 흐름으로 묶으려고 만든 프로젝트입니다. 2026년 10월 15일 현재 공개 주소에서 시험 운영 중입니다.
ISBN 하나가 책 한 권을 확정하지는 않았습니다
사용자는 ISBN을 직접 입력하거나 카메라로 EAN-13 바코드를 읽어 책을 추가합니다. 서버는 YES24와 알라딘의 공개 매입 검색 화면을 확인해 매입 가능 여부와 상태별 가격을 가져옵니다. 구현 중 ISBN 9788936434267을 조회했을 때 알라딘은 같은 ISBN에 대해 두 판본을 반환했습니다. 첫 결과나 가장 높은 가격을 자동으로 고르면 실제 손에 든 책과 다른 판본의 금액을 판매 계획에 넣게 됩니다.
그래서 후보가 여러 개면 표지와 정가를 보고 사용자가 판본을 고르도록 했습니다. 선택 전에는 해당 판매처를 “판본 선택 필요”로 표시하고 추천 계산에서 뺍니다. 선택을 마친 뒤에도 책의 상태를 최상·상·중 중 실제 상태에 맞게 지정해야 합니다. 화면에 나온 가격은 최종 매입 확정액이 아니라 조회 당시의 예상 금액입니다. 판매처의 최종 검수에서 금액이 달라질 수 있습니다.
실패를 0원으로 바꾸면 판매 계획이 틀어집니다
검색 결과가 없어 매입 대상을 찾지 못한 경우, 책을 찾았지만 매입하지 않는 경우, 네트워크나 검색 화면 변경으로 조회 자체가 실패한 경우는 서로 다릅니다. 앞의 두 경우에는 현재 확인된 검색 결과가 있지만 마지막 경우에는 가격을 알 수 없습니다. 이를 모두 0원으로 표시하면 사용자는 “이곳은 매입하지 않는다”고 오해할 수 있습니다.
재조회가 실패했을 때는 마지막으로 성공한 후보와 가격을 화면에 남겨 비교 단서를 보존합니다. 대신 조회 상태를 실패로 바꾸고 그 가격은 판매 전략에서 제외합니다. 다시 말해 보여줄 수 있는 과거 정보와 지금 계산에 사용해도 되는 정보를 분리했습니다. 한 회사만 실패했다면 다른 회사의 유효한 조회값으로 계산할 수 있고, 양쪽 모두 실패했다면 그 책은 판매 보류로 둡니다. 각 회사의 공식 검색 링크도 제공해 직접 재확인할 수 있게 했습니다.
계산 기준은 매입 총액에서 배송비를 뺀 금액입니다
서비스는 네 가지 결과를 나란히 보여줍니다. 책마다 높은 매입가를 고르는 안, YES24에 모으는 안, 알라딘에 모으는 안, 배송비를 고려한 추천안입니다. 추천안은 수거 방식과 판매처별 박스 수를 반영해 매입 총액 − 예상 배송비를 비교합니다. 권수가 적을 때는 판매처 또는 보류 배정을 전부 비교합니다. 현재 구현에서는 판매 가능한 책이 총 12권 이하일 때 이 방식을 사용하고, 그보다 많으면 여러 시작안을 개선하는 방식으로 계산합니다. 대량 목록의 결과가 전역 최적해라는 뜻은 아닙니다.
박스는 기본적으로 최대 20권으로 나누지만 실제 책의 무게와 크기를 앱이 알 수 없으므로 포장 수와 배송비는 추정치입니다. 매장 방문을 고르면 택배비는 0원으로 계산하되 교통비는 포함하지 않습니다. 판매처별 책 목록과 권수, 박스별 준비 내역을 함께 보여줘 숫자의 근거를 확인하도록 했습니다. 공식 판매 신청은 각 회사 사이트에서 직접 진행합니다.
입력을 마친 뒤에도 확인할 것
책 목록·상태·수량·판본·판매 설정은 같은 브라우저의 저장 공간에 남고 CSV로 내려받을 수 있습니다. 브라우저 데이터를 지우거나 다른 기기로 옮기면 자동으로 복원되지 않습니다. 주변 매입점은 지역 검색이나 위치 권한으로 찾을 수 있지만 표시 거리는 직선거리이며 당일 영업이나 실제 매입 재고를 보장하지 않습니다. 휴대폰 실물 바코드 인식과 실제 GPS 사용은 아직 검증하지 못했습니다.
이 프로젝트는 두 서점과 제휴한 공식 서비스가 아닙니다. 검색 화면이나 매입 정책이 바뀌면 조회·배송비 계산을 다시 확인해야 합니다. Re:Book을 사용하더라도 판매 전에는 각 회사의 공식 안내에서 매입 가능 여부, 배송 조건, 실제 정산액을 직접 확인해야 합니다. 공개 화면은 확인했지만 배포 서버에서 양사 조회와 실제 휴대폰의 HTTPS 카메라 흐름까지 검증한 것은 아닙니다.