골프/콘도 회원권 시세를 한 곳에 모아 차트로 보고, 목표가 알림을 받는 서비스. 한 줄로: "회원권판 네이버 증권".
CoinFlow(암호화폐 거래소 백엔드)에서 설계한 시세 수집 → 저장 → 실시간 전송 → 차트 아키텍처를 회원권 도메인에 재적용한 두 번째 서비스입니다.
회원권은 수천만~수억 원짜리 자산이면서 주식처럼 시세가 매일 오르내린다. 그런데 현재 시세를 보여주는 거래소 사이트들은 대부분 20년 전 UI에 전화 상담으로 굴러간다. 흩어진 시세를 한 곳에 모아 깔끔하게 보여주는 것만으로 명확한 수요가 있다.
- 회원권 종목 목록 + 검색
- 종목별 현재 시세 + 시세 추이 차트(일별)
- 관심 종목 찜 + 목표가 알림 (WebSocket)
- 시세 자동 수집 배치 (수집 소스 1~2개부터, N개로 확장 가능한 구조)
- 회원 / 인증
- 수집 소스 플러그인 추가 (거래소 N개)
- 회원권 가격지수 산출
- 거래소 송객 수수료 / 프리미엄 알림 구독
| CoinFlow | MembershipFlow |
|---|---|
| 코인 시세 수집 | 회원권 시세 수집 배치 |
| 시세 DB 저장/조회 | 동일 (시계열) |
| WebSocket 실시간 전송 | 목표가 도달 알림 |
| 차트 데이터 API | 시세 추이 그래프 API |
| 회원/인증 | 회원/찜/알림 |
핵심 설계 포인트: 수집 소스를 추상화해서 거래소 추가가 O(1)이 되도록 한다. (양보다 설계)
membership_course 회원권 종목 (골프장명, 지역, 종류)
price_history (course_id, price, collected_at) ← 시계열
crawl_source 수집 소스 (이름, base_url, 활성여부)
member 회원
watchlist (member_id, course_id, target_price, alert_yn)
alert_log 알림 발송 이력
- Java 21, Spring Boot 3.5
- Spring Web / Data JPA / Validation / WebSocket
- Flyway + MySQL
- Spring Batch (시세 수집 스케줄)
- springdoc-openapi (API 문서)
- robots.txt 존중, 출처 표기, 과도한 요청 금지
- 시세 "정보 집계/표시"만. 매물 원문 복제 / 직접 중개는 하지 않음
- M1: 스캐폴딩 + ERD + 첫 수집 소스 1개 (← 지금)
- M2: 시세 차트 API + 프런트 최소 화면
- M3: 찜 + 목표가 WebSocket 알림
- M4: 수집 소스 추상화 + 2번째 소스 추가