Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoveMate Backend

AI 이사 도우미 movemate의 FastAPI 백엔드 서버입니다.


시작하기

py -3.12 -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt

copy .env.example .env   # .env 열어서 값 입력

.\venv\Scripts\uvicorn.exe app.main:app --reload --host 0.0.0.0 --port 8000

서버 실행 후 http://localhost:8000/docs 에서 Swagger UI 확인


.env 필수 값

AGENT_PATH=C:\movemate_agent
GROQ_API_KEY=your_key_here

# 구글 캘린더 연동 (선택)
GOOGLE_OAUTH_CREDENTIALS=C:\movemate_agent\gcp-oauth.keys.json
GOOGLE_CALENDAR_MCP_TOKEN_PATH=C:\Users\<사용자명>\.config\google-calendar-mcp\tokens.json

구글 캘린더 최초 인증:

$env:GOOGLE_OAUTH_CREDENTIALS="C:\movemate_agent\gcp-oauth.keys.json"
npx -y @cocal/google-calendar-mcp auth normal

아키텍처

schema → service → router 흐름을 따릅니다.

movemate_backend/
├── app/
│   ├── main.py
│   ├── core/         # agent 초기화, 데이터 캡처
│   ├── schemas/      # 요청/응답 모델 (Pydantic)
│   ├── services/     # 비즈니스 로직
│   └── api/          # HTTP 라우터
└── .env

API

Method Endpoint 설명
GET /health 서버 상태 확인
POST /api/v1/chat 채팅 (에이전트 호출)
GET /api/v1/chat/stream 채팅 SSE 스트리밍
GET /api/v1/policy?session_id= 정책 카드 조회
GET /api/v1/schedule?session_id= 이사 일정 조회
PUT /api/v1/schedule/{title}?session_id= 일정 날짜 수정
PUT /api/v1/schedule/{title}/done?session_id= 일정 완료 체크
POST /api/v1/search ChromaDB 직접 검색

POST /api/v1/chat 요청 필드

필드 필수 설명
query 질문 내용
session_id 없으면 UUID 자동 생성
moving_date 이사 날짜 YYYY-MM-DD
contract_type 전세 | 월세 | 매매
move_stage 이사전 | 이사중 | 이사후
region 지역 (예: 서울)
target 대상 (예: 청년, 신혼부부)
completed_items 완료된 항목 목록

route별 응답

route ui.policy_cards schedule_ui
legal null null
policy ✅ top-3 null
schedule null
both ✅ top-3

/api/v1/policy, /api/v1/schedule/api/v1/chat 호출 후 session_id로 조회합니다. 서버 재시작 시 세션 데이터가 초기화됩니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages