- CLAUDE.md: Java/Spring Boot/Gradle 프로젝트 가이드 - .claude/settings.json: Gradle 빌드 도구 권한 설정 - .claude/rules/: Java 코드 스타일, 네이밍, 테스트 규칙 - .githooks/pre-commit: Gradle 컴파일 검증 - gradle.properties.example: Nexus 레포지토리 설정 예시 - .sdkmanrc: JDK 17 버전 고정
66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
# 프로젝트 개요
|
|
|
|
- **타입**: Java + Spring Boot + Gradle
|
|
- **JDK**: 17 (`.sdkmanrc` 참조)
|
|
- **프레임워크**: Spring Boot
|
|
- **빌드 도구**: Gradle (Gradle Wrapper 사용)
|
|
|
|
## 빌드 및 실행
|
|
|
|
```bash
|
|
# 빌드
|
|
./gradlew compileJava
|
|
|
|
# 패키징
|
|
./gradlew build -x test
|
|
|
|
# 테스트
|
|
./gradlew test
|
|
|
|
# 특정 테스트 클래스 실행
|
|
./gradlew test --tests "패키지.클래스명"
|
|
|
|
# 로컬 실행
|
|
./gradlew bootRun
|
|
|
|
# 린트 (Checkstyle 설정된 경우)
|
|
./gradlew checkstyleMain
|
|
```
|
|
|
|
## 프로젝트 구조
|
|
|
|
```
|
|
src/
|
|
├── main/
|
|
│ ├── java/
|
|
│ │ └── com/gcsc/{프로젝트}/
|
|
│ │ ├── config/ # 설정 클래스
|
|
│ │ ├── controller/ # REST 컨트롤러
|
|
│ │ ├── service/ # 비즈니스 로직
|
|
│ │ ├── repository/ # 데이터 접근
|
|
│ │ ├── domain/ # 엔티티
|
|
│ │ ├── dto/ # 데이터 전송 객체
|
|
│ │ ├── exception/ # 예외 처리
|
|
│ │ └── util/ # 유틸리티
|
|
│ └── resources/
|
|
│ ├── application.yml # 공통 설정
|
|
│ ├── application-local.yml # 로컬 설정 (.gitignore)
|
|
│ └── application-prod.yml # 운영 설정
|
|
└── test/
|
|
└── java/ # 테스트 코드
|
|
```
|
|
|
|
## 팀 규칙
|
|
|
|
- 코드 스타일: `.claude/rules/code-style.md` 참조
|
|
- 네이밍 규칙: `.claude/rules/naming.md` 참조
|
|
- 테스트 규칙: `.claude/rules/testing.md` 참조
|
|
- Git 워크플로우: `.claude/rules/git-workflow.md` 참조
|
|
- 팀 정책: `.claude/rules/team-policy.md` 참조
|
|
|
|
## 의존성 관리
|
|
|
|
- Nexus 프록시 레포지토리를 통해 의존성 관리 (`build.gradle` repositories 블록)
|
|
- 인증 정보는 `~/.gradle/gradle.properties`에 관리 (커밋 금지)
|
|
- 프로젝트의 `gradle.properties.example`을 참고하여 로컬 설정
|