Skip to content

Repository files navigation

🏠 집플랜 (JipPlan)

내집마련 청약·대출·세금·규제를 한 번에 — 토스 미니앱(앱인토스)으로 만든 종합 부동산 도우미

Apps in Toss React TypeScript Vite Supabase

흩어져 있던 청약 자격·가점, 부동산 규제, 대출/세금/부대비용 계산, 자금 플래닝을 토스 안에서 한 흐름으로 끝내는 비게임 도구 앱입니다. 모든 계산은 클라이언트 순수함수로 동작하고, 청약 공고 자동 알림은 청약홈 공공데이터 OpenAPI → Supabase → 토스 푸시 파이프라인으로 설계했습니다.


📱 화면

홈(준비도) 계산기 청약
home calc cheongyak
자금 플랜 더보기 규제 진단
plan more regulation

✨ 핵심 기능

  • 청약 자격 셀프체크 & 가점 계산 — 1순위 가능 여부와 84점 만점 가점(무주택기간·부양가족·통장기간)을 항목별로 분해
  • 내 상황 규제 진단 — 지역(규제유형)·주택수·소득을 입력하면 적용되는 대출·세금·청약/매매 규제만 골라 안내하는 룰 엔진(16개 규칙)
  • 대출 계산기 — 중도금(회차별 이자), 주택담보대출(원리금균등/원금균등/만기, 분할상환표), DSR·LTV 한도 역산(스트레스 DSR), 정책대출 비교
  • 부대비용·세금 계산기 — 취득세(중과/생애최초 감면), 중개보수(복비), 등기비용, 총 내집마련 비용 합산
  • 자금 플랜 시뮬레이터 — 계약금→중도금→잔금→부대비용을 시점별 타임라인 + 누적 현금흐름 + 실현가능성 신호등으로
  • 청약 알리미 — 관심단지 청약일 D-day (+ 청약홈 OpenAPI 자동 알림은 백엔드 준비 완료)
  • 내집마련 준비도 — 단계별 진행감을 주는 비게임 게이미피케이션(준비도 게이지·연속 기록)

🏗 아키텍처

flowchart TD
  subgraph Client["📱 WebView (React + TDS)"]
    Nav["탭/스택 네비게이션"]
    Calc["순수함수 계산 엔진<br/>loan · cost · cheongyak · regulation · planning"]
    Game["게이미피케이션<br/>준비도·연속기록 (localStorage)"]
    Ads["광고 게이트<br/>보상형·전면·배너"]
  end
  subgraph Backend["☁️ Supabase (옵션2 자동 알림)"]
    Ingest["ingest-cheongyak<br/>청약홈 OpenAPI 수집"]
    Notify["match-and-notify<br/>조건 매칭 → 토스 푸시"]
    DB[("notices ·<br/>alarm_subscriptions ·<br/>push_log")]
  end
  Gov["data.go.kr<br/>청약홈 분양정보 OpenAPI"] --> Ingest --> DB --> Notify --> Push["토스 스마트 발송"]
  Calc --> Game
  Client -. "키 없으면 로컬 동작<br/>(graceful degradation)" .- Backend
Loading

설계 원칙

  • 계산 = 순수함수(src/features/*/calc.ts)로 분리해 테스트·검증 용이, UI와 무관하게 정확
  • 세율·규제 수치 = 데이터로 분리(*/data.ts, */rules.ts)에 lastVerified 기준일 명시 → 정책 변경 시 데이터만 교체
  • Graceful degradation — 광고/Supabase 키가 없어도 브라우저·개발에서 흐름이 끊기지 않음
  • 로그인 없음 — 모든 데이터는 기기 로컬(localStorage)에만 저장(익명), 별도 개인정보 미수집

🧰 기술 스택

영역 사용
Front React 18, TypeScript(strict), Vite 6, @toss/tds-mobile
Platform @apps-in-toss/web-framework (WebView, 광고·공유·이벤트로그)
Backend Supabase (Postgres + RLS, Edge Functions/Deno)
Data 한국부동산원 청약홈 분양정보 OpenAPI (data.go.kr)
Tooling ESLint, Prettier, Playwright(스모크/스크린샷)

🔒 심사·안전

  • 비게임 도구 — 코어 동사는 계산/진단/안내/기록. 게이미피케이션은 부가 레이어
  • 사행성 0 — 베팅·추첨·뽑기 워딩 없음. 광고 보상은 결정적(광고 1회 → 정해진 상세 1개 해금)만
  • 만남·연애 프레이밍 0, 투자·투기 조장 톤 배제(중립 안내)
  • 참고용 고지 — 모든 계산/진단 화면에 "2026년 기준 참고용, 공식 자료 확인" 면책 명시

▶ 로컬 실행

npm install
cp .env.example .env      # 비워도 동작(광고·백엔드는 graceful 처리)
npm run dev               # http://localhost:5173

npm run build             # 타입/번들 + .ait 산출
npm run lint
node scripts/screenshots.mjs   # 전 화면 스모크 + 스크린샷

청약홈 자동 알림(옵션2) 백엔드 셋업은 supabase/README.md 참고 (data.go.kr 서비스키 → Supabase 배포 → 스케줄러 → 토스 푸시 템플릿).


📂 구조

src/
  features/
    home/          홈 대시보드(준비도·연속기록·바로가기)
    calc/          계산기 허브
    loan/          대출 계산기 (calc.ts / data.ts)
    cost/          부대비용·세금 계산기
    cheongyak/     청약 자격·가점·알리미
    regulation/    규제 진단 룰엔진 (rules.ts / engine.ts)
    planning/      자금 플랜 타임라인
    more/          공유·안내
  components/      ui 키트, 배너 광고
  hooks/           useAdGate, useInterstitialAd
  lib/             nav, env, analytics, storage, format, gamification, supabase, cheongyakApi
  data/            share
supabase/          migrations + Edge Functions(ingest / match-and-notify)
planning/          제품 기획 문서 8종
submission/        심사 제출 자료(앱정보 docx · 아이콘 · 썸네일)

🗺 로드맵

  • MVP — 계산기 5종 + 규제 진단 + 청약 자격/가점 + 로컬 청약 알리미
  • 옵션2 백엔드 — 청약홈 OpenAPI 수집 + 푸시 파이프라인(코드/스키마 완성)
  • 자동 알림 라이브 — data.go.kr 서비스키·토스 푸시 템플릿 연결
  • 규제/세율 원격 JSON 배포로 무중단 갱신
  • 보상형 광고 안정화 후 토스포인트 전환 검토

※ 본 앱의 계산·진단 결과는 참고용입니다. 실제 청약·계약·대출·세무는 청약홈·금융사·지자체 등 공식 자료와 전문가 상담으로 확인하세요.

About

집플랜 — 내집마련 청약·대출·세금·규제를 한 번에 (앱인토스 미니앱)

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages