plugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' } group = 'com.dog' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-validation' // 실시간 인앱 채팅 (STOMP over WebSocket) implementation 'org.springframework.boot:spring-boot-starter-websocket' // 실시간 스팟 체크인(24h TTL) — 활성 메이트 조회. 통계는 PostgreSQL. implementation 'org.springframework.boot:spring-boot-starter-data-redis' // PostGIS / 공간 데이터 (스팟 위경도 좌표) implementation 'org.hibernate.orm:hibernate-spatial' // DB 마이그레이션 implementation 'org.flywaydb:flyway-core' implementation 'org.flywaydb:flyway-database-postgresql' // Apple 로그인 ID 토큰(JWT) 서명 검증 — Apple JWKS(공개키) 기반 implementation 'com.nimbusds:nimbus-jose-jwt:9.40' runtimeOnly 'org.postgresql:postgresql' // H2: 로컬 실행 프로파일(local) 및 테스트용 인메모리 DB runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }