66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
# 부동산 검색 프로젝트 계획
|
|
|
|
## 프로젝트 개요
|
|
- **목적**: FastAPI와 OpenAI를 이용한 부동산 검색 웹사이트
|
|
- **주요 기능**: 자연어 입력을 받아 OpenAI로 파싱 후 부동산 정보 추출
|
|
|
|
## 기술 스택
|
|
- **Backend**: Python, FastAPI, OpenAI API
|
|
- **Frontend**: HTML, CSS, JavaScript
|
|
- **NLP**: OpenAI GPT API
|
|
|
|
## 폴더 구조
|
|
```
|
|
C:\o2o\RealEstateSearch\
|
|
├── docs/
|
|
│ ├── project_plan.md
|
|
│ ├── project_logs.txt
|
|
│ └── api_guide.md
|
|
├── backend/
|
|
│ ├── main.py (FastAPI 서버)
|
|
│ ├── openai_parser.py (OpenAI 파싱 + 지역코드 변환)
|
|
│ ├── models.py (데이터 모델)
|
|
│ └── public_data_api.py (공공데이터 API 클라이언트)
|
|
├── frontend/
|
|
│ ├── index.html
|
|
│ ├── style.css
|
|
│ └── script.js
|
|
├── data/
|
|
│ └── region_codes.json (시군구 코드)
|
|
├── requirements.txt
|
|
├── .env (API 키 저장)
|
|
├── .gitignore (Git 제외 파일)
|
|
└── README.md
|
|
```
|
|
|
|
## 작업 단계
|
|
- [x] 프로젝트 폴더 구조 생성
|
|
- [x] 프로젝트 계획서 작성
|
|
- [x] FastAPI 백엔드 개발
|
|
- [x] OpenAI 파싱 로직 구현
|
|
- [x] 프론트엔드 개발
|
|
- [x] README.md 업데이트
|
|
- [x] 지역 코드 변환 기능
|
|
- [x] 공공데이터 API 연동
|
|
- [x] 실거래가 표시 UI
|
|
- [x] 불필요한 코드 정리
|
|
|
|
## API 엔드포인트
|
|
|
|
### 1. GET `/`
|
|
- 메인 페이지 (index.html) 제공
|
|
|
|
### 2. POST `/api/search`
|
|
- 자연어 검색 및 실거래가 조회
|
|
- AI 필터링 옵션 (filter_results 파라미터)
|
|
- 요청: `{"text": "강남 아파트 전세 3억"}`
|
|
- 응답: 파싱 결과 + 실거래가 목록 (필터링 포함)
|
|
|
|
### 3. POST `/api/filter`
|
|
- 공공데이터 결과를 OpenAI로 필터링
|
|
- 사용자 요구사항과 가장 일치하는 매물 선별
|
|
- 파라미터: user_query, listings, top_k
|
|
|
|
### 4. GET `/static/*`
|
|
- CSS, JS 등 정적 파일 제공
|