shiroko-kfcc 개발 포스트모템
새마을금고를 털!자

개요

shiroko

shiroko-kfcc는 새마을금고의 예금, 적금 금리를 보려고 만든 서비스이다. 저장소 주소는 if1live/shiroko-kfcc이다. 이 글에서는 어쩌다 shiroko-kfcc를 만들게 되었는지와 어떻게 만들었는지를 간단하게 다룬다.

타임라인

  • 2022/02: MVP 개발
  • 2023/01/01 ~ 2023/01/02: 먼지 털기
  • 2023/01/03 ~ 2023/01/04: shiroko-kfcc 개발
  • 2023/01/05 ~ 2023/01/08: 사용성, SEO, CI, … 개선

2022/02: 새마을금고 전체 금리를 보고 싶다

목돈이 생겨서 예금할 곳을 찾아보게 되었다. 은행 금리는 너무 낮으니까 적당한 새마을금고에 넣으려고 했다. 새마을금고 모바일앱 “MG더뱅킹"을 사용하면 다른 지역의 금고의 예금 상품에 가입할수 있다고 하더라. 금리가 제일 “MG더뱅킹정기예금"을 찾고 싶은데 원하는 데이터를 모아둔 곳이 없었다.

새마을금고위치안내로 특정 금고의 금리는 볼 수 있지만 많은 금고를 한번에 볼 수 없다. 금고를 하나씩 눌러보기에는 사이트가 너무 느려서 못해먹겠더라.

마이뱅크로는 수많은 금고의 금리를 볼수 있지만 내가 가입할 수 없는 상품까지 뒤섞여서 나온다.

그래서 간단한 크롤러를 만들었다.

  1. 새마을금고위치안내를 뜯어서 새마을금고 목록을 확보한다.
  2. 각각의 금고별 금리 정보를 확보한다.
  3. 확보한 데이터를 종합해서 전국 새마을금고의 MG더뱅킹정기예금 금리를 CSV로 뽑는다.
  4. 금리가 제일 높은 새마을금고에 예금을 만든다.

크롤링을 통해서 연 2.92% (기본 2.62% + 우대 0.3%) 예금을 가입했다.

2022/02: 프로젝트의 끝

CLI 툴로 뽑는게 잘 돌아가는걸 봤으니 간단한 웹서비스로 만들어보자! …고 했으나 몇가지 문제가 있어서 프로젝트를 접었다.

새마을금고 vs 신협

“X새마을금고"의 정기예탁금 상품에 가입하는건 쉽다.

  1. “X새마을금고"에 입출금계좌를 만들어야한다.
    • 상상모바일통장은 MG더뱅킹 앱으로 쉽게 만들 수 있다.
    • X새마을금고에 방문해서 입출금계좌를 만들 수 있다.
  2. “X새마을금고"의 정기예탁금 상품에 가입한다.

문제는 다른 새마을금고인 “Y새마을금고"의 정기예탁금 상품에 가입할 때 발생한다.

  1. “Y새마을금고"에 입출금계좌를 만들어야하는데
    • 상상모바일통장을 만든 경우
      • 상상모바일통장 1인당 한개밖에 안된다. 상상모바일통장을 또 만들 수 없다!
      • 상상모바일통장은 앱에서 해지할 수 없다! 새마을금고를 방문해야 한다.
    • 방문해서 입출금계좌를 만든 경우
      • 계좌개설 20일 제한에 걸릴 수 있다! 돈이 있는데도 예금에 가입할 수 없다.
  2. “Y새마을금고"에 계좌가 없으니까 정기예탁금 상품을 가입할 수 없다.

마이뱅크를 보면 높은 금리의 Block예금, 정기예탁금 상품이 있지만 현실적으로 쓸모 없다. 나한테는 MG더뱅킹정기예금 이외의 선택지가 없었다.

하지만 신협을 알게 되고 상황이 바뀌었다. 신협은 모바일앱에서 입출금계좌를 해지할 수 있다. A신협의 정기예금에 가입하려고 입출금계좌를 만든 후, 계좌를 해지한후 다시 B신협의 정기예금에 가입할 수 있다. MG더뱅킹정기예금 이외의 선택지가 생겼기때문에 shiroko-kfcc를 진행할 이유가 줄었다.

저금리 시대

2023년 1월은 시중은행 정기예금 금리조차 4%를 넘는다. 2022년 말에는 5%를 넘기도 했다. 하지만 2022년 2월에는 새마을금고 2.92%가 높은 금리였다. 특판으로 예금 3.2% 열리면 줄을 서야했다. 저금리 시대에는 예금이 인기 없어서 shiroko-kfcc를 만들어도 별로 안쓸거같더라.

낮은 재방문율

1년 예금에 가입한후 다시 1년 예금에 가입하는 날은 언제일까? 만기날 이후? 목돈이 생긴다음? 금리 보는 서비스가 있어도 1년에 한두번 밖에 안들어올거다. 나조차도 새마을금고 크롤링을 11개월만에 다시 돌렸는데.

운영 비용

하루에 한번씩은 금리를 크롤링해야되니 cron같은게 필요하다. AWS Lambda와 scheduled event를 사용하면 크롤러는 쉽게 구현할 수 있다.

근데 DB는? 서버는? 서버를 운영하는 것도 비용이고 모니터링하는 것도 비용이다. 서비스를 소유하는것 자체로 돈과 시간이 깨진다.

나한테 필요한 기능은 CLI툴에서 완성되었다. 서비스 운영으로는 조금의 비용도 쓰고싶지 않았다.

2023/01: 예금의 끝과 새로운 예금의 시작

이전에 가입했던 예금의 만기가 되었다. 마이뱅크에서 적당한 신협 예금 상품을 찾아서 가입하려고 했는데

마이뱅크, 신협의 한계

신협 정기예금 상품에 가입하고 통수 맞는 과정은 다음과 같다.

  1. 마이뱅크에서 높은 예금금리의 신협을 찾는다.
  2. 해당 신협에 입출금계좌를 만든다. 시키는 것도 많고 신분증 사진도 찍어야하고…
  3. 입출금계좌를 만든 후에야 정기예금 금리가 보인다.
  4. 예금금리가 마이뱅크에서 본것과 다르다! 낮거나 해당되는 상품이 안보인다?
  5. 마이뱅크로 돌아가서 다시보니 갱신일자가 2주전. 그 사이에 상품이 매진되었나보다.
  6. 아까 만든 입출금계좌를 해지한다.
  7. 1로 되돌아가서 새로운 신협을 찾아본다.

몇번 하다가 귀찮아서 신협 집어던지고 shiroko-kfcc를 다시 꺼내게 되었다. MG더뱅킹정기예금이 금리가 조금 낮을 수 있지만 귀찮은 과정은 없다.

정적 사이트로 어디까지 할 수 있나?

GitHub Actions의 기능으로 schedule이 있다. cron 문법으로 작성하고 workflow를 실행시킬 수 있다. 크롤러를 공짜로 돌릴 수 있겠네?

git에 있는 파일은 URL을 통해서 접근할 수 있다. GitHub에 올라간 JSON 파일은 정적 JSON API 아닐까?

git에 통째로 올리면 버전관리까지 지원된다. 새마을금고 금리 변화를 추적할 수 있다. git을 DB로 쓰면 되지 않을까?

GitHub Pages를 쓰면 정적 사이트를 서빙할 수 있다. 금리 보는 기능이야 간단하니까 HTML 하나에 다 넣을 수 있을거같은데?

vercel, lambda, … 같은 외부 서비스 없이 GitHub만으로 공짜 서비스를 굴릴 수 있을거같은데? 그래서 shiroko-kfcc를 더 개발했다.

GitHub Actions은 간단하게 쓰면 다음과 같이 구성된다

  • event: push main branch
    1. pnpm build, pnpm test, … 뻔한 CI
    2. 성공하면 frontend를 gh-pages 브랜치로 푸시
    3. gh-pages정적사이트로 연결
  • event: schedule
    1. KST 01시마다 새마을금고 금리 크롤링
    2. 크롤링으로 얻은 데이터를 interest-rate 브랜치로 푸시
    3. 정적사이트interest-rate 브랜치의 report_mat.json를 갖다쓴다.

내 돈 안 쓰고 굴러가는 서비스 완성ㅋ

NEXT?

직장금고는 해당 직장소속 임직원만 이용이 가능하며 일반회원은 이용 할 수 없습니다.

구글에서 “새마을금고 금리"를 검색하면 “삼성전자새마을금고”, “SK hynix 새마을금고” 같은게 첫페이지에 뜬다. (모든 사람에게 그렇게 보이는건지는 모르겠다) 일반인은 가입할 수 도 없는 직장금고보다 구글 검색 결과에 더 위에 뜨도록 만들고 싶다. 핵심기능은 다 만들었으니 검색엔진 최적화(SEO)를 신경 써보려고 한다. 원하는대로 된다는 보장은 없지만.


comments powered by Disqus