尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證네이버 아파트 매물 조회/분석 웹앱 (Next.js + FastAPI + Supabase)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗공인중개사 B2B 구독 부동산 SaaS
2u.pe.kr(이 서비스)의 웹 모노레포 프로젝트입니다.
네이버 부동산 실시간 크롤링 및 단지·매물 데이터 분석, 정밀 세무·비교 도구를 제공합니다.
flowchart TD
User["사용자 (브라우저)"]
subgraph Frontend ["Next.js 16 (Vercel — 2u.pe.kr)"]
UI["App Router (31 라우트)"]
CoreAPI["lib/api/core.ts\n(서킷 브레이커 & fetch 래퍼)"]
DirectClient["lib/api-direct.ts\n(Supabase 직조회 폴백)"]
UI --> CoreAPI
end
subgraph Cloudflare ["Cloudflare Named Tunnel"]
Tunnel["api.2u.pe.kr"]
end
subgraph Backend ["FastAPI (집 서버 — Uvicorn 8002)"]
Router["routers/live/search.py 등\n(동시성 제어 & 라우팅)"]
Crawler["crawler/ & shared/naver_api.py\n(curl_cffi 실시간 크롤링)"]
Scheduler["APScheduler\n(단일 락 정기 수집/백필)"]
Router --> Crawler
end
subgraph External ["외부 연동"]
Naver["네이버 부동산 API"]
Gov["공공데이터 (K-apt, SGIS, VWorld)"]
end
subgraph Database ["Supabase PostgreSQL"]
DB[(PostgreSQL DB\n진실의 원천)]
end
User --> UI
CoreAPI --> Tunnel --> Router
Crawler --> Naver
Scheduler --> Gov
Crawler --> DB
Scheduler --> DB
CoreAPI -.->|"백엔드 장애 시 자동 폴백"| DirectClient --> DB
| 구분 | 기술 스택 | 근거 및 설명 |
|---|---|---|
| Frontend | Next.js 16.4 (App Router), React 19, TypeScript 6 | frontend/package.json |
| FE 스타일/상태 | Tailwind CSS 4, shadcn/Radix, TanStack React Query v5 | 반응형 모바일 지원 및 서버 상태 관리 |
| Backend | FastAPI, Python 3.12, SQLAlchemy 2.1, Uvicorn | backend/requirements.txt |
| 크롤링/스케줄러 | curl_cffi (네이버 차단 방지), APScheduler (단일 인스턴스 파일락) | 실시간 크롤링 및 백그라운드 수집 |
| 데이터베이스 | Supabase (PostgreSQL 15+), Supabase Auth (쿠키 기반 JWT) | Flyway 스타일 마이그레이션 (V001~V071) |
| 배포/인프라 | Vercel (FE, Root: frontend) + 집 서버 (BE, Named Tunnel) | CLAUDE.md, frontend/README.md |
| 검증/CI | GitHub Actions, Vitest, Playwright(E2E), Ruff, pytest-xdist | .github/workflows/ci.yml |
| 디렉토리 | 설명 | 진입점 / 상세 문서 |
|---|---|---|
frontend/ | Next.js 16 웹 프론트엔드 소스 | frontend/README.md |
backend/ | FastAPI 백엔드 API & 크롤러 소스 | backend/CLAUDE.md |
.claude/ | Claude Code 규칙(rules 12종), 훅(hooks), 전문 에이전트(agents) | .claude/STRUCTURE.md |
.github/ | GitHub Actions 워크플로우 (CI, E2E, 보안 감사) | .github/workflows/ci.yml |
scripts/ | 서버 자동 시작, 오케스트레이터, 텔레그램 알림 | scripts/startup_orchestrator.py |
docs/ | 아키텍처 스펙, 비즈니스 결정, 데이터 소스 문서 | docs/DATA_SOURCES.md |
cd frontend
npm install # 최초 1회 (husky 훅 자동 구성)
PLAYWRIGHT_PORT=8090 npm run dev # 개발 서버 구동 (기본 포트: 8090)
cd backend
# 가상환경 활성화 후
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8002 --reload
작업 후 git commit 전 반드시 아래 검증을 통과해야 CI가 실패하지 않습니다:
# [1] 백엔드 변경 시
cd backend && ruff check . && python -m pytest --tb=short -q
# [2] 프론트엔드 변경 시 (타입/린트/테스트 + CI 게이트 4종)
cd frontend && npx tsc --noEmit && npm run lint && npm test \
&& npm run check:ad-compliance && npm run check:mdx-jsx && npm run check:job-labels \
&& npm run check:visual-guard