# ============================================ # CaStAD v3.2.0 개발 환경 설정 파일 # ============================================ # 이 파일을 .env로 복사하여 사용하세요 # cp .env.example .env # ============================================ # ============================================ # 🔧 기본 설정 (Basic Configuration) # ============================================ # Node 환경 설정 # - development: 개발 모드 (상세 로그, 핫 리로딩) # - production: 프로덕션 모드 (최적화, 보안 강화) NODE_ENV=development # 백엔드 서버 포트 (Express.js) # - 기본값: 3001 # - Vite 프록시가 이 포트로 API 요청을 전달합니다 PORT=3001 # JWT 인증 시크릿 키 # - 사용자 인증 토큰 생성에 사용 # - 프로덕션에서는 반드시 복잡한 랜덤 문자열로 변경하세요! # - 예: openssl rand -base64 32 JWT_SECRET=dev-secret-key-change-in-production # URL 설정 (개발 환경) # - FRONTEND_URL: 프론트엔드 URL (Vite 개발 서버) # - BACKEND_URL: 백엔드 API URL # - ALLOWED_ORIGINS: CORS 허용 도메인 (쉼표로 구분) FRONTEND_URL=http://localhost:5173 BACKEND_URL=http://localhost:3001 ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3000 # ============================================ # 🔑 필수 API 키 (Required APIs) # ============================================ # 이 키들이 없으면 핵심 기능이 작동하지 않습니다 # Google Gemini AI API # - 용도: AI 텍스트 생성, 마케팅 문구 작성, AI 매직 라이트 # - 발급: https://ai.google.dev/ (Google AI Studio) # - 무료 할당량: 분당 60회 요청 # - 참고: 서버와 프론트엔드 모두에서 사용 (VITE_ 접두사 필요) VITE_GEMINI_API_KEY=your-gemini-api-key # Suno AI API # - 용도: AI 음악 생성 (배경음악, 광고 음악) # - 발급: https://suno.ai/ 또는 프록시 서비스 사용 # - 프록시 예시: https://github.com/gcui-art/suno-api SUNO_API_KEY=your-suno-api-key # ============================================ # 🎪 축제 연동 API (Festival Integration) # ============================================ # 한국관광공사 Tour API # - 용도: 전국 축제/행사 정보 조회, 지역별 축제 연동 # - 발급: https://api.visitkorea.or.kr/ (회원가입 후 키 발급) # - 무료 할당량: 일 1,000회 # - 서비스: KorService2 (최신 버전) TOURAPI_KEY=your-tour-api-key TOURAPI_ENDPOINT=https://apis.data.go.kr/B551011/KorService2 # ============================================ # 📍 지오코딩 API (Geocoding) # ============================================ # Kakao REST API # - 용도: 주소 → 좌표 변환, 펜션 위치 기반 근처 축제 검색 # - 발급: https://developers.kakao.com/ (앱 생성 후 REST API 키) # - 무료 할당량: 일 30,000회 KAKAO_REST_KEY=your-kakao-rest-api-key # ============================================ # 📺 YouTube 업로드 (YouTube Upload) # ============================================ # OAuth 2.0 방식 - 사용자별 개인 채널 연동 # YouTube OAuth 설정 # - 설정 파일: server/client_secret.json # - 발급 방법: # 1. Google Cloud Console (https://console.cloud.google.com) # 2. "사용자 인증 정보" → "OAuth 2.0 클라이언트 ID" 생성 # 3. 리디렉션 URI 추가: http://localhost:3001/api/youtube/oauth/callback # 4. JSON 다운로드 → server/client_secret.json으로 저장 # - 주의: 개발/테스트 앱은 "Google에서 확인하지 않은 앱" 경고가 표시됨 # ============================================ # 📊 Google Cloud Billing (선택) # ============================================ # BigQuery를 통한 클라우드 비용 분석 # Google Cloud Billing 설정 # - 용도: API 사용량 비용 추적, 비용 분석 대시보드 # - 전제 조건: # 1. Google Cloud 프로젝트에서 결제 내보내기 → BigQuery 설정 # 2. 서비스 계정 생성 (BigQuery 읽기 권한) # 3. 서비스 계정 키 JSON 다운로드 # - KEY_PATH: 서비스 계정 키 파일 경로 # - PROJECT_ID: Google Cloud 프로젝트 ID # - DATASET_ID: BigQuery 데이터셋 ID GOOGLE_BILLING_KEY_PATH=./server/google-billing-key.json GOOGLE_CLOUD_PROJECT_ID=your-project-id GOOGLE_BILLING_DATASET_ID=billing_export # ============================================ # 📧 이메일 서비스 (선택) # ============================================ # Resend 이메일 API # - 용도: 비밀번호 재설정, 알림 이메일 발송 # - 발급: https://resend.com/ (가입 후 API 키 발급) # - 무료 할당량: 월 100통 # - 설정 안 하면 이메일 기능 비활성화 (앱은 정상 작동) RESEND_API_KEY=your-resend-api-key RESEND_FROM_EMAIL=CastAD # ============================================ # 🔐 소셜 로그인 (선택) # ============================================ # Google OAuth 로그인 # - 용도: "Google로 로그인" 기능 # - 발급: Google Cloud Console → 사용자 인증 정보 → OAuth 2.0 # - 리디렉션 URI: http://localhost:3001/auth/google/callback GOOGLE_CLIENT_ID=your-google-client-id GOOGLE_CLIENT_SECRET=your-google-client-secret # Naver OAuth 로그인 # - 용도: "네이버로 로그인" 기능 # - 발급: https://developers.naver.com/ → 애플리케이션 등록 # - 리디렉션 URI: http://localhost:3001/auth/naver/callback NAVER_CLIENT_ID=your-naver-client-id NAVER_CLIENT_SECRET=your-naver-client-secret # ============================================ # 📱 SNS 연동 (선택) # ============================================ # Instagram 서비스 (Python 마이크로서비스) # - 용도: Instagram 자동 업로드 # - 별도 설치 필요: server/instagram-service/ # - 의존성: Python 3.8+, Fernet 암호화 INSTAGRAM_SERVICE_URL=http://localhost:5001 INSTAGRAM_SERVICE_PORT=5001 INSTAGRAM_ENCRYPTION_KEY=your-fernet-encryption-key # TikTok API # - 용도: TikTok 영상 업로드 # - 발급: https://developers.tiktok.com/ → 앱 생성 # - 리디렉션 URI: http://localhost:3001/api/tiktok/oauth/callback TIKTOK_CLIENT_KEY=your-tiktok-client-key TIKTOK_CLIENT_SECRET=your-tiktok-client-secret # ============================================ # 🔧 기타 설정 (선택) # ============================================ # Naver 크롤링 쿠키 (선택) # - 용도: 네이버 지도에서 펜션 정보/사진 크롤링 # - 획득 방법: 브라우저 개발자 도구 (F12) → Application → Cookies에서 복사 # - 주의: 쿠키 만료 시 재설정 필요 (또는 관리자 대시보드에서 설정) # NAVER_COOKIES="NNB=xxx; JSESSIONID=xxx" # Instagram 크롤링 쿠키 (선택) # - 용도: 인스타그램 프로필에서 펜션 사진 크롤링 # - 획득 방법: 인스타그램 로그인 후 개발자 도구에서 쿠키 복사 # - 필수 쿠키: sessionid, csrftoken, ds_user_id # - 주의: 쿠키 만료 시 재설정 필요 (또는 관리자 대시보드에서 설정) # INSTAGRAM_COOKIES="sessionid=xxx; csrftoken=xxx; ds_user_id=xxx" # ============================================ # 📝 설정 체크리스트 # ============================================ # 최소 필수 설정 (앱 실행에 필요): # ✅ JWT_SECRET # ✅ VITE_GEMINI_API_KEY # ✅ SUNO_API_KEY # # 권장 설정 (주요 기능 활성화): # ⬜ TOURAPI_KEY (축제 연동) # ⬜ KAKAO_REST_KEY (위치 기반 축제 검색) # ⬜ YouTube client_secret.json (YouTube 업로드) # # 선택 설정 (부가 기능): # ⬜ RESEND_API_KEY (이메일 발송) # ⬜ GOOGLE_CLIENT_ID/SECRET (Google 로그인) # ⬜ NAVER_CLIENT_ID/SECRET (네이버 로그인) # ⬜ TIKTOK_CLIENT_KEY/SECRET (TikTok 업로드) # ⬜ INSTAGRAM_* (Instagram 업로드) # ⬜ GOOGLE_BILLING_* (비용 분석)