Files
DABEEO-DETECTION-APPLICATION/api-app
2026-04-08 10:10:12 +09:00
..
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00
2026-04-08 10:10:12 +09:00

Dabeeo Detection API

Dabeeo 변화 탐지 시스템을 위한 백엔드 API 서버

📋 프로젝트 소개

dabeeo-detection-api는 공간 데이터의 변화를 탐지하고 관리하기 위한 RESTful API 서버입니다. JTS(Java Topology Suite)를 활용한 지오메트리 데이터 처리와 PostgreSQL을 통한 공간 데이터 저장을 지원합니다.

🛠️ 기술 스택

Category Technology
Language Java 21
Framework Spring Boot 3.5.7
Database PostgreSQL (with PostGIS)
ORM Spring Data JPA + Hibernate
Query QueryDSL 5.0.0 (Jakarta)
Geospatial JTS (Java Topology Suite) + GeoJSON
Connection Pool HikariCP
Build Tool Gradle 8.x
Monitoring Spring Boot Actuator
Container Docker + Docker Compose
CI/CD Jenkins

🚀 시작하기

필수 요구사항

  • Java 21 (JDK 21)
  • PostgreSQL 12+ (PostGIS 확장 필요)
  • Gradle 8.x (또는 Gradle Wrapper 사용)
  • Docker & Docker Compose (선택사항)

로컬 환경 설정

  1. 저장소 클론
https://kamco.git.gs.dabeeo.com/MVPTeam/DABEEO-DETECTION-APPLICATION.git
  1. 데이터베이스 설정

PostgreSQL 데이터베이스를 준비하고 src/main/resources/application-local.yml을 생성:

spring:
  config:
    activate:
      on-profile: local
  datasource:
    url: jdbc:postgresql://localhost:5432/dabeeo_detection_dev
    username: your_username
    password: your_password

참고: application-local.yml.gitignore에 포함되어 있어 Git에 커밋되지 않습니다.

  1. 빌드 및 실행
# 빌드
./gradlew build

# 실행 (local 프로파일)
./gradlew bootRun

# 또는 JAR 파일로 실행
java -jar build/libs/ROOT.jar

서버가 시작되면 http://localhost:8080 에서 접근 가능합니다.

⚙️ 프로파일 설정

애플리케이션은 환경별로 다른 설정을 사용합니다:

프로파일 환경 포트 설정 파일
local 로컬 개발 8080 application.yml (기본)
dev 개발 서버 7100 application-dev.yml
prod 운영 서버 8080 application-prod.yml

프로파일 활성화

# 개발 환경으로 실행
./gradlew bootRun --args='--spring.profiles.active=dev'

# JAR 실행 시
java -jar build/libs/ROOT.jar --spring.profiles.active=dev

🧪 테스트

# 전체 테스트 실행
./gradlew test

# 특정 테스트 클래스 실행
./gradlew test --tests com.kamco.cd.kamcoback.KamcoBackApplicationTests

# 테스트 리포트 확인
open build/reports/tests/test/index.html

📦 빌드

# 전체 빌드 (테스트 포함)
./gradlew clean build

# 테스트 제외 빌드 (CI/CD에서 사용)
./gradlew clean build -x test

# JAR 파일만 생성
./gradlew bootJar

빌드된 JAR 파일: build/libs/ROOT.jar