Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
청약홈 공고를 모아 시세·전세를 붙이고, 로또 / 고려 / 마진없음 / 패스 등급을 매겨 웹 앱에 내려주는 서버예요. 내 조건을 보내면 자격 · 자금 · 전세 가능 여부까지 판정해요. 계산 규칙은 웹 프로토타입과 같아요. Python 3.11 이상이 필요해요. .env 를 열어 DATA_GO_KR_KEY= 뒤에 일반 인증키(Decoding) 를 붙여 넣어요. 공공데이터포털 마이페이지 > 데이터활용 > Open API 에서 확인할 수 있어요. 키 하나로 네 가지 API(청약홈 분양정보, 아파트 매매, 분양권전매, 전월세)를 모두 쓰지만, API마다 활용신청이 되어 있어야 해요. 9개가 통과하면 판정 엔진이 웹 프로토타입과 같은 숫자를 내는 거예요 (강변역: 로또 +7.15~9.15억, 전세 2.6억 부족). 각 API 에서 1건씩 받아 필드명을 보여줘요. 없음 이 뜨는 항목이 있으면 그 줄을 복사해서 알려주세요. app/sources/applyhome.py 의 FIELD 후보에 실제 키를 넣으면 돼요.README 전문 보기 ↗
청약홈 공고를 모아 시세·전세를 붙이고, 로또 / 고려 / 마진없음 / 패스 등급을 매겨 웹 앱에 내려주는 서버예요. 내 조건을 보내면 자격 · 자금 · 전세 가능 여부까지 판정해요. 계산 규칙은 웹 프로토타입과 같아요.
app/
rules.py 규제·등급 기준 표 (규제가 바뀌면 여기만 수정)
engine.py 판정 엔진: 등급, 자격, 대출 한도, 자금, 전세 가능 여부
market.py 실거래로 시세·전세 추정
region.py 주소 → 서울/경기/지방, 규제지역, 법정동코드
sources/applyhome.py 청약홈 분양정보 API
sources/rtms.py 국토부 실거래가 API (매매·분양권·전월세)
pipeline.py 매일 돌리는 수집 작업 → data/listings.json
webpush.py 수집 뒤 웹 푸시 알림 이벤트 보내기 (알림 서버: push/worker.js)
api.py (지금 사이트는 쓰지 않음) 판정 엔진 API 서버 — 테스트(tests/test_pipeline.py)에서 파이썬 엔진 확인용으로만 쓴다
inspect_fields.py 처음 연결할 때 실제 응답 필드 확인
tests/ 판정 숫자 검증 + 목업 응답으로 전체 흐름 검증
Python 3.11 이상이 필요해요.
cd cheongyak-backend
python -m venv .venv
source .venv/bin/activate # 윈도우: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # 윈도우: copy .env.example .env
.env 를 열어 DATA_GO_KR_KEY= 뒤에 일반 인증키(Decoding) 를 붙여 넣어요.
공공데이터포털 마이페이지 > 데이터활용 > Open API 에서 확인할 수 있어요.
키 하나로 네 가지 API(청약홈 분양정보, 아파트 매매, 분양권전매, 전월세)를 모두 쓰지만, API마다 활용신청이 되어 있어야 해요.
pytest -q
9개가 통과하면 판정 엔진이 웹 프로토타입과 같은 숫자를 내는 거예요 (강변역: 로또 +7.15~9.15억, 전세 2.6억 부족).
python -m app.inspect_fields
각 API 에서 1건씩 받아 필드명을 보여줘요. 없음 이 뜨는 항목이 있으면 그 줄을 복사해서 알려주세요.
app/sources/applyhome.py 의 FIELD 후보에 실제 키를 넣으면 돼요.
자주 나는 오류:
401 / SERVICE_KEY_IS_NOT_REGISTERED_ERROR: 발급 직후엔 1~2시간(길면 하루) 뒤에 동작해요. Encoding 키 대신 Decoding 키를 넣었는지 확인하세요.python -m app.pipeline --dry-run # 저장하지 않고 결과만 출력
python -m app.pipeline # data/listings.json 저장
출력 예: 로또 강변역 센트럴 아이파크 84C · 서울 광진구 · 분양가 12.22억 마진 +7.15~+9.15억
매일 새벽에 돌리려면 서버의 crontab 에 추가해요.
30 5 * * * cd /경로/cheongyak-backend && .venv/bin/python -m app.pipeline >> pipeline.log 2>&1
uvicorn app.api:app --reload
GET /listings · GET /listings?grade_filter=lotto — 등급순 공고 목록GET /listings/{id} — 공고 하나 + 등급 + 전세 가능 여부POST /listings/{id}/judge — 본문 {"profile": {...}, "plan": {"mode": "jeonse", "family": 0}} 로 자격·자금 판정GET /rules — 지금 적용 중인 규칙 값http://localhost:8000/docs 에서 직접 눌러볼 수 있어요.Profile 필드는 웹 앱 인터뷰와 같아요 (금액은 만 원 단위).
.github/workflows/collect.yml 이 매일 새벽 5:30(한국시간)에 수집을 돌리고 docs/listings.json 을 갱신해요.
docs/index.html 은 웹 앱이고, 같은 폴더의 listings.json 을 읽어 실제 공고를 보여줘요 (파일이 없으면 샘플로 동작).
DATA_GO_KR_KEY (Decoding 키) 등록main, 폴더 /docs 로 저장
docs/run-log.txt 에 등급 요약, 공고문 읽기 결과, 경고, 알림 전송 결과가 남아요.docs/config.json 의 ntfy_topic 이고, 웹 앱의 알림 버튼에서 구독할 수 있어요.
mkt_note)를 함께 보여줘요.실거주 의무: 공고문 확인 으로 표시되고, 다음 단계에서 공고문 PDF 추출로 채울 예정이에요.rules.py 의 대출 규제(LTV, 한도, 스트레스 금리)와 규제지역 목록은 2026년 9월 기준이에요. 서비스 전에 최신 발표로 다시 확인하세요.시세 부족 으로 나와요. rules.py 에 코드를 추가하면 돼요.