code 추가
This commit is contained in:
@@ -1,3 +1,120 @@
|
||||
### 다비오 변화 탐지 시스템
|
||||
# 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
|
||||
```
|
||||
|
||||
2. **데이터베이스 설정**
|
||||
|
||||
PostgreSQL 데이터베이스를 준비하고 `src/main/resources/application-local.yml`을 생성:
|
||||
|
||||
```yaml
|
||||
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에 커밋되지 않습니다.
|
||||
|
||||
3. **빌드 및 실행**
|
||||
|
||||
```bash
|
||||
# 빌드
|
||||
./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` |
|
||||
|
||||
### 프로파일 활성화
|
||||
|
||||
```bash
|
||||
# 개발 환경으로 실행
|
||||
./gradlew bootRun --args='--spring.profiles.active=dev'
|
||||
|
||||
# JAR 실행 시
|
||||
java -jar build/libs/ROOT.jar --spring.profiles.active=dev
|
||||
```
|
||||
|
||||
## 🧪 테스트
|
||||
|
||||
```bash
|
||||
# 전체 테스트 실행
|
||||
./gradlew test
|
||||
|
||||
# 특정 테스트 클래스 실행
|
||||
./gradlew test --tests com.kamco.cd.kamcoback.KamcoBackApplicationTests
|
||||
|
||||
# 테스트 리포트 확인
|
||||
open build/reports/tests/test/index.html
|
||||
```
|
||||
|
||||
## 📦 빌드
|
||||
|
||||
```bash
|
||||
# 전체 빌드 (테스트 포함)
|
||||
./gradlew clean build
|
||||
|
||||
# 테스트 제외 빌드 (CI/CD에서 사용)
|
||||
./gradlew clean build -x test
|
||||
|
||||
# JAR 파일만 생성
|
||||
./gradlew bootJar
|
||||
```
|
||||
|
||||
빌드된 JAR 파일: `build/libs/ROOT.jar`
|
||||
|
||||
Reference in New Issue
Block a user