# 부동산 검색 프로젝트 계획 ## 프로젝트 개요 - **목적**: 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 등 정적 파일 제공