# 날씨 위젯 API 키 설정 가이드 🌤️ ## 📌 개요 날씨 위젯을 사용하려면 **OpenWeatherMap API 키**가 필요합니다. --- ## 🔑 OpenWeatherMap API 키 발급 ### 1. 회원가입 - 사이트: https://openweathermap.org/api - 무료 플랜 선택 (Free Plan) - 하루 **60회** 무료 호출 가능 (충분함) ### 2. API 키 확인 - 로그인 후 **API keys** 메뉴로 이동 - 자동 생성된 API 키 복사 - 또는 **Create Key** 버튼으로 새 키 생성 --- ## ⚙️ 환경 변수 설정 ### 백엔드 `.env` 파일 수정 ```bash # backend-node/.env 파일 열기 cd /Users/leeheejin/ERP-node/backend-node vi .env ``` ### 다음 내용 추가: ```bash # OpenWeatherMap API 키 OPENWEATHER_API_KEY=your_actual_api_key_here ``` **예시:** ```bash OPENWEATHER_API_KEY=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 ``` --- ## 🔄 백엔드 재시작 ```bash docker restart pms-backend-mac ``` 또는 ```bash cd /Users/leeheejin/ERP-node/backend-node npm run dev ``` --- ## ✅ 테스트 ### 1. 브라우저에서 대시보드 설계 도구 접속 ``` http://localhost:9771/admin/dashboard ``` ### 2. 날씨 위젯 드래그 앤 드롭 - 오른쪽 사이드바에서 **☁️ 날씨 위젯** 찾기 - 캔버스로 드래그 앤 드롭 - 실시간 날씨 정보 표시 확인 ### 3. API 직접 테스트 ```bash curl "http://localhost:9771/api/open-api/weather?city=Seoul" \ -H "Authorization: Bearer YOUR_TOKEN" ``` --- ## 🌍 지원 도시 ### 한국 주요 도시 - Seoul (서울) - Busan (부산) - Incheon (인천) - Daegu (대구) - Gwangju (광주) - Daejeon (대전) ### 해외 도시 - Tokyo - New York - London - Paris - Singapore --- ## 🔧 트러블슈팅 ### 1. "날씨 API 키가 유효하지 않습니다" 오류 **원인**: API 키가 잘못되었거나 활성화되지 않음 **해결방법**: 1. OpenWeatherMap 사이트에서 API 키 재확인 2. 새로 발급한 키는 **2시간 후** 활성화됨 (대기 필요) 3. `.env` 파일에 복사한 키가 정확한지 확인 4. 백엔드 재시작 ### 2. "도시를 찾을 수 없습니다" 오류 **원인**: 도시명 철자 오류 또는 지원하지 않는 도시 **해결방법**: - 영문 도시명 사용 (Seoul, Busan 등) - OpenWeatherMap 도시 목록 확인: https://openweathermap.org/find ### 3. "CORS 오류" 발생 **원인**: 프론트엔드-백엔드 통신 문제 **해결방법**: - 백엔드가 정상 실행 중인지 확인 (`docker ps`) - `backend-node/src/app.ts`의 CORS 설정 확인 - 브라우저 개발자 도구에서 요청 URL 확인 --- ## 📊 API 사용량 확인 - OpenWeatherMap 대시보드: https://home.openweathermap.org/api_keys - 무료 플랜: 하루 60회 (1분당 1회) - 위젯 새로고침 주기: **10분** (기본값) --- ## 🎨 커스터마이징 ### 날씨 위젯 도시 변경 ```typescript // DashboardDesigner.tsx에서 요소 생성 시 const newElement = { ... content: "Tokyo", // 원하는 도시명으로 변경 }; ``` ### 새로고침 주기 변경 ```typescript // WeatherWidget.tsx에서 ``` --- ## 📝 참고 링크 - OpenWeatherMap API 문서: https://openweathermap.org/current - 무료 API 키 발급: https://openweathermap.org/price - 지원 도시 검색: https://openweathermap.org/find --- ✅ **설정 완료 후 대시보드에서 실시간 날씨를 확인하세요!**