diff --git a/troubleshooting/250730_happybell80_프론트엔드로빙연결.md b/troubleshooting/250730_happybell80_프론트엔드로빙연결.md index 0dc0a4b..899751d 100644 --- a/troubleshooting/250730_happybell80_프론트엔드로빙연결.md +++ b/troubleshooting/250730_happybell80_프론트엔드로빙연결.md @@ -134,18 +134,52 @@ git push origin main 3. **에러 처리**: 네트워크 오류 시 사용자 친화적 메시지 4. **로딩 상태**: 응답 대기 중 스피너 표시 -### 향후 개선사항 -1. **DB 기반 사용자-로빙 매핑** - - auth-server에 users, workspace_members 테이블 추가 - - 동적 로빙 할당 시스템 - -2. **실시간 통신** - - WebSocket 또는 SSE 구현 - - 양방향 실시간 메시지 +### 실제 서비스를 위한 필수 변경사항 -3. **스킬 시스템 통합** - - 스킬 사용 시 UI 피드백 - - 스킬 결과 표시 +**현재 상태 (개발용)**: +```javascript +// .env.local +VITE_ROBING_API_URL=https://ro-being.com/rb10508 // 하드코딩 + +// src/services/robing-api.ts +const ROBING_API_URL = import.meta.env.VITE_ROBING_API_URL || 'https://ro-being.com/rb10508'; +``` + +**서비스용으로 변경해야 할 부분**: + +1. **환경변수 제거**: + - `.env.local`에서 `VITE_ROBING_API_URL` 삭제 + - 하드코딩된 로빙 ID 제거 + +2. **동적 로빙 할당 구현**: + ```javascript + // src/services/robing-api.ts 수정 + // 1. getUserRobing() 함수 구현 + export async function getUserRobing(userId: string): Promise { + const response = await fetch(`${AUTH_SERVER_URL}/api/users/${userId}/robing`); + const data = await response.json(); + return data.robing_url; // 예: "https://ro-being.com/rb8001" + } + + // 2. sendMessage() 수정 + export async function sendMessage(text: string, userId: string) { + const robingUrl = await getUserRobing(userId); // 동적으로 가져옴 + const response = await fetch(`${robingUrl}/api/dev/message`, {...}); + } + ``` + +3. **auth-server DB 구축 필요**: + - users 테이블 + - workspace_members 테이블 (user_id, robing_id 매핑) + - 로빙 할당 API 엔드포인트 + +4. **ChatInterface 수정**: + - 로빙 ID 하드코딩 제거 (#10508) + - 동적으로 로빙 정보 표시 + +### 향후 개선사항 +1. **실시간 통신**: WebSocket/SSE로 양방향 통신 +2. **스킬 시스템**: UI 피드백 추가 ## 교훈