집핑 (ZipPing) 화면

Real Estate · Web App

집핑 (ZipPing)

관심 지역과 조건을 한 번 저장하면 국토교통부 실거래가 공개 자료에서 새 거래와 직전 대비 가격 변동을 골라 매일 오전 8시 이메일로 알려 주는 무료 부동산 실거래 알림 서비스입니다.

주소
zip.martius.kr
대상
서울 전역 · 경기 주요 도시의 아파트(매매·전월세)와 오피스텔(전월세)
데이터
국토교통부 실거래가 공개 API (공공데이터포털)
알림
매일 오전 8시 이메일 (기본값) · 변동 없으면 미발송
이용
무료 · 구글·카카오·네이버 로그인

만든 이유

아파트 실거래가는 국토교통부 실거래가 공개시스템에서 누구나 볼 수 있습니다. 하지만 관심 있는 단지에 새 거래가 올라왔는지 알려면 날마다 직접 들어가 지역을 고르고 목록을 훑어봐야 합니다. 집핑은 그 확인을 대신하도록 만든 서비스입니다. 원하는 조건을 한 번 저장해 두면, 새로 신고된 거래와 직전 거래 대비 가격 변동을 골라 이메일로 보내 줍니다.

어떻게 동작하나

집핑은 실거래가를 찾아보는 서비스가 아니라 받아보는 서비스에 가깝습니다. 하루의 흐름은 이렇습니다.

메일에는 신규 실거래, 직전 대비 상승, 직전 대비 하락이 구분되어 담기고, 거래마다 국토교통부 실거래가 원문으로 가는 링크가 붙습니다. 오른 금액과 내린 금액도 함께 적어 두어 메일만 읽고도 흐름을 짐작할 수 있습니다.

메일에 담는 범위는 마지막으로 메일을 보낸 뒤에 생긴 변동입니다. 어떤 날 발송이 실패하거나 자료가 늦게 들어오더라도 그 사이의 거래가 다음 메일에 이어서 담기도록 했습니다. 반대로 새로 맞는 거래가 하나도 없으면 메일을 보내지 않습니다. 새 실거래 신고가 드문 주말이나 공휴일에는 메일이 오지 않는 것이 정상입니다.

무엇을 할 수 있나

로그인은 구글, 카카오, 네이버 계정으로 합니다. 별도의 가입 양식이나 비밀번호는 없고, 처음 로그인할 때 계정과 기본 알림 설정(매일 오전 8시)이 만들어집니다. 로그인하기 전에도 첫 화면에서 구나 시를 골라 그 지역의 최근 실거래를 미리 볼 수 있습니다. 현재 서울특별시 전역과 성남, 수원, 용인, 고양, 부천, 안양 같은 경기 주요 도시를 다루며, 이용료는 받지 않습니다.

이렇게 쓰면 좋습니다

첫 집을 알아보면서 몇몇 동네의 시세를 꾸준히 지켜보고 싶을 때, 전세 계약을 앞두고 주변 단지의 전세 거래 흐름을 확인하고 싶을 때 쓰기 좋습니다. 조건을 너무 넓게 잡으면 메일이 길어지므로, 처음에는 관심 있는 구나 동 하나와 대략의 가격대로 시작해 보고 필요하면 조건을 더 나누는 쪽을 권합니다. 부동산 앱을 따로 열지 않고 받은편지함에서 확인하는 편이 익숙한 분께 잘 맞습니다.

데이터와 개인정보

거래 자료는 모두 국토교통부가 공개하는 실거래가입니다. 판매 중인 매물의 호가가 아니라 실제로 계약되고 신고된 거래만 다룹니다. 사용자에 관해서는 로그인한 계정의 이메일 주소와 저장한 조건, 관심 실거래, 알림 설정과 발송 기록을 서비스 운영에 필요한 만큼 보관합니다. 알림 메일은 로그인에 쓴 계정의 이메일 주소로 갑니다.

알아 둘 점

만들면서

처음 정한 것은 무엇을 알려 줄지였습니다. 국토교통부 자료는 거래가 끝난 계약만 담고 있으므로, 집핑은 매물 알림이 아니라 실거래가 알림으로 범위를 정했습니다. 수집 부분은 데이터 출처마다 같은 모양의 인터페이스를 따르도록 만들어, 국토교통부 외의 출처를 더하더라도 나머지 코드를 크게 고치지 않게 했습니다.

직전 대비 변동을 계산하려면 같은 단지를 정확히 묶어야 합니다. 그래서 시, 구, 동, 정리한 단지 이름, 거래 유형, 전용면적을 합친 식별 값을 만들어 같은 값끼리 계약일 순으로 비교합니다. 같은 단지인데 띄어쓰기나 영문 대소문자가 달라 다른 단지로 갈리지 않도록, 단지 이름은 비교 전에 한 번 정리합니다.

메일에 담을 범위를 마지막 발송 성공 시각 이후로 잡은 것도 신경 쓴 부분입니다. 고정된 '최근 24시간'으로 잡으면 한 번만 발송이 어긋나도 그 사이의 거래가 영영 빠지기 때문입니다. 다만 오랫동안 메일을 받지 않은 사용자에게 너무 긴 메일이 가지 않도록 거슬러 올라가는 기간은 최대 7일로 제한했습니다.

화면은 Next.js로, 데이터는 PostgreSQL과 Prisma로, 로그인은 Auth.js로 만들었고, 메일은 React Email로 작성한 템플릿을 HTML로 바꿔 보냅니다. 로그인하지 않아도 보이는 첫 화면은 캐시에서 바로 응답하고, 로그인이 필요한 화면에서만 세션을 확인하도록 나눠 첫 화면이 가볍게 열리게 했습니다.