만든 이유
아파트 실거래가는 국토교통부 실거래가 공개시스템에서 누구나 볼 수 있습니다. 하지만 관심 있는 단지에 새 거래가 올라왔는지 알려면 날마다 직접 들어가 지역을 고르고 목록을 훑어봐야 합니다. 집핑은 그 확인을 대신하도록 만든 서비스입니다. 원하는 조건을 한 번 저장해 두면, 새로 신고된 거래와 직전 거래 대비 가격 변동을 골라 이메일로 보내 줍니다.
어떻게 동작하나
집핑은 실거래가를 찾아보는 서비스가 아니라 받아보는 서비스에 가깝습니다. 하루의 흐름은 이렇습니다.
- ·새벽 수집: 매일 오전 6시에 공공데이터포털의 국토교통부 실거래가 API에서 지원 지역의 아파트 매매, 아파트 전월세, 오피스텔 전월세 거래를 가져와 이전 자료와 비교합니다.
- ·변동 판정: 같은 단지, 같은 전용면적, 같은 거래 유형의 직전 실거래를 찾아 새 거래가 얼마나 오르거나 내렸는지 계산합니다.
- ·아침 발송: 매일 오전 8시에 사용자가 저장한 조건과 맞는 거래를 골라 조건별로 묶은 메일 한 통을 보냅니다.
메일에는 신규 실거래, 직전 대비 상승, 직전 대비 하락이 구분되어 담기고, 거래마다 국토교통부 실거래가 원문으로 가는 링크가 붙습니다. 오른 금액과 내린 금액도 함께 적어 두어 메일만 읽고도 흐름을 짐작할 수 있습니다.
메일에 담는 범위는 마지막으로 메일을 보낸 뒤에 생긴 변동입니다. 어떤 날 발송이 실패하거나 자료가 늦게 들어오더라도 그 사이의 거래가 다음 메일에 이어서 담기도록 했습니다. 반대로 새로 맞는 거래가 하나도 없으면 메일을 보내지 않습니다. 새 실거래 신고가 드문 주말이나 공휴일에는 메일이 오지 않는 것이 정상입니다.
무엇을 할 수 있나
- ·조건 저장: 시·구·동, 거래 유형(매매·전세·월세), 주택 유형, 가격, 면적을 골라 조건을 만듭니다. 저장하기 전에 지금 조건에 맞는 실거래가 몇 건인지 미리 확인할 수 있고, '서울 첫집', '판교 출퇴근'처럼 목적별로 여러 조건을 나눠 둘 수 있습니다.
- ·대시보드: 조건마다 신규, 상승, 하락 건수를 카드로 보여 줍니다.
- ·실거래 상세: 거래의 세부 정보와 직전 대비 변동, 같은 단지·같은 면적의 실거래가 추이를 작은 그래프로 보여 줍니다.
- ·관심 실거래: 눈여겨볼 거래를 저장해 두고 같은 조건의 가격 흐름을 계속 지켜볼 수 있습니다.
- ·알림 설정과 기록: 알림을 끄거나 받을 요일을 고를 수 있고, 최근 30일 동안의 발송 기록을 확인할 수 있습니다.
로그인은 구글, 카카오, 네이버 계정으로 합니다. 별도의 가입 양식이나 비밀번호는 없고, 처음 로그인할 때 계정과 기본 알림 설정(매일 오전 8시)이 만들어집니다. 로그인하기 전에도 첫 화면에서 구나 시를 골라 그 지역의 최근 실거래를 미리 볼 수 있습니다. 현재 서울특별시 전역과 성남, 수원, 용인, 고양, 부천, 안양 같은 경기 주요 도시를 다루며, 이용료는 받지 않습니다.
이렇게 쓰면 좋습니다
첫 집을 알아보면서 몇몇 동네의 시세를 꾸준히 지켜보고 싶을 때, 전세 계약을 앞두고 주변 단지의 전세 거래 흐름을 확인하고 싶을 때 쓰기 좋습니다. 조건을 너무 넓게 잡으면 메일이 길어지므로, 처음에는 관심 있는 구나 동 하나와 대략의 가격대로 시작해 보고 필요하면 조건을 더 나누는 쪽을 권합니다. 부동산 앱을 따로 열지 않고 받은편지함에서 확인하는 편이 익숙한 분께 잘 맞습니다.
데이터와 개인정보
거래 자료는 모두 국토교통부가 공개하는 실거래가입니다. 판매 중인 매물의 호가가 아니라 실제로 계약되고 신고된 거래만 다룹니다. 사용자에 관해서는 로그인한 계정의 이메일 주소와 저장한 조건, 관심 실거래, 알림 설정과 발송 기록을 서비스 운영에 필요한 만큼 보관합니다. 알림 메일은 로그인에 쓴 계정의 이메일 주소로 갑니다.
알아 둘 점
- ·실거래는 계약한 뒤 신고하기까지 시간이 걸리므로, 최근 거래가 며칠 또는 몇 주 늦게 반영될 수 있습니다.
- ·상승과 하락은 같은 단지·같은 면적의 직전 거래 한 건과 비교한 값입니다. 층이나 향, 거래 조건에 따라 가격 차이가 생길 수 있으니 흐름을 보는 참고 자료로만 써 주세요.
- ·비교할 직전 거래가 없거나 직전 거래와 가격이 같으면 상승·하락 없이 신규 실거래로 표시됩니다.
- ·실제 계약 전에는 국토교통부 원문과 현장 정보를 함께 확인해 주세요.
만들면서
처음 정한 것은 무엇을 알려 줄지였습니다. 국토교통부 자료는 거래가 끝난 계약만 담고 있으므로, 집핑은 매물 알림이 아니라 실거래가 알림으로 범위를 정했습니다. 수집 부분은 데이터 출처마다 같은 모양의 인터페이스를 따르도록 만들어, 국토교통부 외의 출처를 더하더라도 나머지 코드를 크게 고치지 않게 했습니다.
직전 대비 변동을 계산하려면 같은 단지를 정확히 묶어야 합니다. 그래서 시, 구, 동, 정리한 단지 이름, 거래 유형, 전용면적을 합친 식별 값을 만들어 같은 값끼리 계약일 순으로 비교합니다. 같은 단지인데 띄어쓰기나 영문 대소문자가 달라 다른 단지로 갈리지 않도록, 단지 이름은 비교 전에 한 번 정리합니다.
메일에 담을 범위를 마지막 발송 성공 시각 이후로 잡은 것도 신경 쓴 부분입니다. 고정된 '최근 24시간'으로 잡으면 한 번만 발송이 어긋나도 그 사이의 거래가 영영 빠지기 때문입니다. 다만 오랫동안 메일을 받지 않은 사용자에게 너무 긴 메일이 가지 않도록 거슬러 올라가는 기간은 최대 7일로 제한했습니다.
화면은 Next.js로, 데이터는 PostgreSQL과 Prisma로, 로그인은 Auth.js로 만들었고, 메일은 React Email로 작성한 템플릿을 HTML로 바꿔 보냅니다. 로그인하지 않아도 보이는 첫 화면은 캐시에서 바로 응답하고, 로그인이 필요한 화면에서만 세션을 확인하도록 나눠 첫 화면이 가볍게 열리게 했습니다.
