---
# System prepended metadata

title: application.properties

---

📂 1. 환경 설정 (application.properties)
위치: src/main/resources/application.properties

설명: 서버, DB, 외부 API 키 관리 파일입니다.

주의: YOUR_...로 표시된 부분은 각자 발급받은 실제 키 값으로 변경해야 합니다.

# 
# ⚙️ 1. 서버 및 기본 설정
# 
server.port=8080
spring.jmx.enabled=false
spring.application.admin.enabled=false

# 
# 🗄️ 2. 데이터베이스 (Oracle) & JPA
# 
# (주의: 포트가 1522로 설정되어 있습니다. 본인 DB 포트에 맞게 수정하세요)
spring.datasource.url=jdbc:oracle:thin:@localhost:1522:XE
spring.datasource.username=system
spring.datasource.password=YOUR_DB_PASSWORD
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.OracleDialect

# 
# 🔐 3. JWT (토큰) 설정
# 
# (보안을 위해 임의의 긴 문자열을 사용하세요)
jwt.secret=YOUR_JWT_SECRET_KEY_MUST_BE_LONG_ENOUGH
jwt.expiration=86400000

# 
# 🌐 4. 외부 API 키 설정
#

# [Spotify]
spotify.client-id=YOUR_SPOTIFY_CLIENT_ID
spotify.client-secret=YOUR_SPOTIFY_CLIENT_SECRET

# [YouTube]
youtube.api-key=YOUR_YOUTUBE_API_KEY

# [Google Perspective] (댓글 필터링)
google.perspective.key=YOUR_GOOGLE_PERSPECTIVE_API_KEY
google.perspective.url=https://commentanalyzer.googleapis.com/v1alpha1/comments:analyze

# [Google Gemini] (AI 챗봇)
# 무료 티어 최적화 모델: gemini-flash-latest
gemini.api-key=YOUR_GEMINI_API_KEY
gemini.url=https://generativelanguage.googleapis.com/v1beta/models/gemini-flash-latest:generateContent

# 
# 🔑 5. 소셜 로그인 (OAuth2)
# 

# [Google Login]
spring.security.oauth2.client.registration.google.client-id=YOUR_GOOGLE_CLIENT_ID
spring.security.oauth2.client.registration.google.client-secret=YOUR_GOOGLE_CLIENT_SECRET
spring.security.oauth2.client.registration.google.scope=profile,email

# [Kakao Login]
spring.security.oauth2.client.registration.kakao.client-id=YOUR_KAKAO_CLIENT_ID
spring.security.oauth2.client.registration.kakao.client-secret=YOUR_KAKAO_CLIENT_SECRET
spring.security.oauth2.client.registration.kakao.redirect-uri=http://localhost:8080/login/oauth2/code/kakao
spring.security.oauth2.client.registration.kakao.client-authentication-method=client_secret_post
spring.security.oauth2.client.registration.kakao.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.kakao.scope=profile_nickname, account_email
spring.security.oauth2.client.registration.kakao.client-name=Kakao

# Kakao Provider Info
spring.security.oauth2.client.provider.kakao.authorization-uri=https://kauth.kakao.com/oauth/authorize
spring.security.oauth2.client.provider.kakao.token-uri=https://kauth.kakao.com/oauth/token
spring.security.oauth2.client.provider.kakao.user-info-uri=https://kapi.kakao.com/v2/user/me
spring.security.oauth2.client.provider.kakao.user-name-attribute=id

# [Naver Login]
spring.security.oauth2.client.registration.naver.client-id=YOUR_NAVER_CLIENT_ID
spring.security.oauth2.client.registration.naver.client-secret=YOUR_NAVER_CLIENT_SECRET
spring.security.oauth2.client.registration.naver.redirect-uri=http://localhost:8080/login/oauth2/code/naver
spring.security.oauth2.client.registration.naver.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.naver.scope=name,email,profile_image
spring.security.oauth2.client.registration.naver.client-name=Naver

# Naver Provider Info
spring.security.oauth2.client.provider.naver.authorization-uri=https://nid.naver.com/oauth2.0/authorize
spring.security.oauth2.client.provider.naver.token-uri=https://nid.naver.com/oauth2.0/token
spring.security.oauth2.client.provider.naver.user-info-uri=https://openapi.naver.com/v1/nid/me
spring.security.oauth2.client.provider.naver.user-name-attribute=response

# [SerpApi] (Google Jobs)
serpapi.api-key=YOUR_SERPAPI_KEY

# [Adzuna]
adzuna.app-id=YOUR_ADZUNA_APP_ID
adzuna.app-key=YOUR_ADZUNA_APP_KEY