불필요 main api 정리

master
jaehwang 2025-08-19 15:14:22 +09:00
parent 3d1f8683a4
commit cb5dd5f25f
4 changed files with 44 additions and 113 deletions

View File

@ -1,5 +1,4 @@
import os
from typing import Optional
from fastapi import FastAPI, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
@ -7,7 +6,7 @@ from fastapi.responses import FileResponse
from dotenv import load_dotenv
import uvicorn
from models import RealEstateQuery, ParsedRealEstate
from models import RealEstateQuery
from openai_parser import OpenAIParser
from public_data_api import PublicDataAPIClient
@ -39,40 +38,6 @@ async def serve_index():
"""메인 페이지 제공"""
return FileResponse("../frontend/index.html")
@app.post("/api/parse", response_model=ParsedRealEstate)
async def parse_real_estate(query: RealEstateQuery):
"""자연어 입력을 파싱하여 부동산 정보 추출"""
if not parser:
raise HTTPException(
status_code=500,
detail="OpenAI API key not configured. Please set OPENAI_API_KEY in .env file"
)
try:
result = await parser.parse_real_estate_query(query.text)
return result
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/api/real-estate-data")
async def get_real_estate_listings(
property_type: str = "아파트",
transaction_type: str = "매매",
region_code: str = "11680",
deal_ymd: Optional[str] = None
):
"""공공데이터 API를 통한 실거래가 조회"""
try:
data = public_data_client.get_real_estate_data(
property_type=property_type,
transaction_type=transaction_type,
region_code=region_code,
deal_ymd=deal_ymd
)
return {"data": data, "count": len(data)}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.post("/api/search")
async def search_real_estate(query: RealEstateQuery):
"""자연어 검색 후 실거래가 데이터 조회"""
@ -94,7 +59,6 @@ async def search_real_estate(query: RealEstateQuery):
transaction_type=parsed.transaction_type,
region_code=parsed.region_code
)
print(listings)
return {
"parsed": parsed,

View File

@ -1,71 +0,0 @@
{
"종로구": "11110",
"중구": "11140",
"용산구": "11170",
"성동구": "11200",
"광진구": "11215",
"동대문구": "11230",
"중랑구": "11260",
"성북구": "11290",
"강북구": "11305",
"도봉구": "11320",
"노원구": "11350",
"은평구": "11380",
"서대문구": "11410",
"마포구": "11440",
"양천구": "11470",
"강서구": "11500",
"구로구": "11530",
"금천구": "11545",
"영등포구": "11560",
"동작구": "11590",
"관악구": "11620",
"서초구": "11650",
"강남구": "11680",
"송파구": "11710",
"강동구": "11740",
"수원시": "41110",
"성남시": "41130",
"의정부시": "41150",
"안양시": "41170",
"부천시": "41190",
"광명시": "41210",
"평택시": "41220",
"안산시": "41270",
"고양시": "41280",
"과천시": "41290",
"구리시": "41310",
"남양주시": "41360",
"오산시": "41370",
"시흥시": "41390",
"군포시": "41410",
"의왕시": "41430",
"하남시": "41450",
"용인시": "41460",
"파주시": "41480",
"이천시": "41500",
"안성시": "41550",
"김포시": "41570",
"화성시": "41590",
"광주시": "41610",
"양주시": "41630",
"포천시": "41650",
"여주시": "41670",
"분당구": "41135",
"수정구": "41131",
"중원구": "41133",
"장안구": "41111",
"권선구": "41113",
"팔달구": "41115",
"영통구": "41117",
"만안구": "41171",
"동안구": "41173",
"상록구": "41271",
"단원구": "41273",
"덕양구": "41281",
"일산동구": "41285",
"일산서구": "41287",
"처인구": "41461",
"기흥구": "41463",
"수지구": "41465"
}

View File

@ -47,6 +47,26 @@
- docs/project_plan.md 업데이트 (API 가이드 문서 추가)
- 웹 검색 및 브라우저를 통한 실제 API 정보 수집
[2025-08-19 15:12:44] 사용하지 않는 API 엔드포인트 제거 작업 완료
- backend/main.py 정리
- /api/parse 엔드포인트 제거 (사용 안함)
- /api/real-estate-data 엔드포인트 제거 (사용 안함)
- /api/search 엔드포인트만 유지 (메인 API)
- 불필요한 import 제거 (Optional, ParsedRealEstate)
- 디버그용 print 문 제거
- data/region_codes_simple.json 삭제 (사용 안함)
- docs/project_plan.md 업데이트
- 폴더 구조 현행화
- API 엔드포인트 섹션 추가
- 작업 단계 업데이트
- 최종 API 구조:
- GET / : 메인 페이지
- POST /api/search : 자연어 검색 + 실거래가 조회
- GET /static/* : 정적 파일
[2025-08-19 15:10:35] 사용하지 않는 API 엔드포인트 제거 작업 시작
- 불필요한 엔드포인트 정리
[2025-08-19 14:25:44] 프론트엔드 실거래가 표시 기능 변경 완료
- frontend/script.js 수정
- /api/parse에서 /api/search로 엔드포인트 변경

View File

@ -14,18 +14,19 @@
C:\o2o\RealEstateSearch\
├── docs/
│ ├── project_plan.md
│ └── project_logs.txt
│ ├── project_logs.txt
│ └── api_guide.md
├── backend/
│ ├── main.py (FastAPI 서버)
│ ├── openai_parser.py (OpenAI 파싱 로직)
│ └── models.py (데이터 모델)
│ ├── openai_parser.py (OpenAI 파싱 + 지역코드 변환)
│ ├── models.py (데이터 모델)
│ └── public_data_api.py (공공데이터 API 클라이언트)
├── frontend/
│ ├── index.html
│ ├── style.css
│ └── script.js
├── data/
│ ├── region_codes.json (전체 시군구 코드)
│ └── region_codes_simple.json (간략 버전)
│ └── region_codes.json (시군구 코드)
├── requirements.txt
├── .env (API 키 저장)
├── .gitignore (Git 제외 파일)
@ -39,3 +40,20 @@ C:\o2o\RealEstateSearch\
- [x] OpenAI 파싱 로직 구현
- [x] 프론트엔드 개발
- [x] README.md 업데이트
- [x] 지역 코드 변환 기능
- [x] 공공데이터 API 연동
- [x] 실거래가 표시 UI
- [x] 불필요한 코드 정리
## API 엔드포인트
### 1. GET `/`
- 메인 페이지 (index.html) 제공
### 2. POST `/api/search`
- 자연어 검색 및 실거래가 조회
- 요청: `{"text": "강남 아파트 전세"}`
- 응답: 파싱 결과 + 실거래가 목록
### 3. GET `/static/*`
- CSS, JS 등 정적 파일 제공