Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
60 changes: 60 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-fix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Bug Fix 🛠️
description: 수정한 버그에 대한 내용을 정리할 때 사용하세요.
title: "[FIX] 제목을 입력하세요"
labels: ["bug fix"]

body:
- type: markdown
attributes:
value: |
## 🛠️ 버그 수정 내역
수정한 버그와 관련된 상세 내용을 작성해주세요.

- type: input
id: bug-summary
attributes:
label: 🐞 버그 요약
description: "수정한 버그를 간단히 요약해주세요."
placeholder: "예: 로그인 시 500 오류 발생 문제 수정"

- type: textarea
id: root-cause
attributes:
label: 🔍 원인 분석
description: "해당 버그의 근본 원인이 무엇인지 설명해주세요."
placeholder: |
예:
- NullPointerException이 발생하여 500 오류가 발생
- 로그인 요청 시 사용자 데이터가 정상적으로 반환되지 않음
validations:
required: false

- type: textarea
id: fix-details
attributes:
label: ✔️ 수정 내용
description: "해당 버그를 어떻게 수정했는지 구체적으로 작성해주세요."
placeholder: |
예:
- 로그인 API의 NullPointerException을 방지하기 위해 유효성 검사 추가
- 사용자 데이터가 비어 있는 경우 기본값을 반환하도록 수정
validations:
required: false

- type: textarea
id: impact
attributes:
label: 🔍 영향을 준 부분
description: "이번 수정이 영향을 줄 수 있는 코드나 시스템 부분을 설명해주세요."
placeholder: |
예:
- AuthService 수정
- 로그인 페이지 UI에서 새로운 에러 메시지 추가
- Redis 세션 캐시 관련 기능 확인

- type: input
id: additional-context
attributes:
label: 📌 참고 사항
description: "수정과 관련된 추가 정보나 참고할 만한 내용을 작성해주세요."
placeholder: "예: 해당 수정이 Frontend 팀과의 협의가 필요함"
73 changes: 73 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Bug Report 🐞
description: 발견한 버그나 문제를 보고할 때 사용하세요.
title: "[BUG] 제목을 입력하세요"
labels: ["bug"]

body:
- type: markdown
attributes:
value: |
## 🐞 버그 보고 안내
발견한 버그나 문제를 작성해주세요.

- type: input
id: bug-summary
attributes:
label: 📝 버그 요약
description: "발생한 버그를 간단히 요약해주세요."
placeholder: "예: 로그인 시 500 오류 발생"

- type: textarea
id: steps-to-reproduce
attributes:
label: 🔄 재현 방법
description: "문제가 발생하는 단계를 순서대로 작성해주세요."
placeholder: |
1. 로그인 페이지로 이동합니다.
2. 사용자 이름과 비밀번호를 입력합니다.
3. 로그인 버튼을 클릭합니다.
4. 500 오류 메시지가 표시됩니다.


- type: textarea
id: expected-behavior
attributes:
label: ✔️ 예상 동작
description: "정상적으로 동작했을 경우의 기대 결과를 작성해주세요."
placeholder: "예: 사용자가 대시보드로 이동해야 합니다."


- type: textarea
id: actual-behavior
attributes:
label: ❌ 실제 동작
description: "실제로 발생한 결과를 작성해주세요."
placeholder: "예: 서버에서 500 내부 서버 오류가 발생합니다."


- type: textarea
id: environment
attributes:
label: 🌐 환경
description: "문제가 발생한 환경을 설명해주세요 (운영 체제, 브라우저, 라이브러리 버전 등)."
placeholder: |
- 운영 체제: Windows 10
- 브라우저: Chrome 95
- 백엔드: Spring Boot 2.5.4
- 데이터베이스: MySQL 8.0


- type: textarea
id: logs
attributes:
label: 🐾 관련 로그
description: "관련된 로그나 에러 메시지가 있으면 추가해주세요."
placeholder: "로그 메시지를 여기에 붙여넣어 주세요."
render: shell

- type: input
id: additional-context
attributes:
label: 📌 참고 사항
description: "버그와 관련된 추가 정보나 참고할 만한 내용을 작성해주세요."
placeholder: "예: 다른 페이지에서는 문제가 발생하지 않습니다."
72 changes: 72 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Feature Development 🚀
description: 개발할 기능을 정리할 때 사용하세요.
title: "[FEAT] 제목을 입력하세요"
labels: ["feature"]

body:
- type: markdown
attributes:
value: |
## 📝 기능 개발 계획
개발할 기능에 대해 아래 항목을 작성해주세요. 필요한 경우 관련 팀원과 논의 사항을 정리해 주세요.

---

- type: input
id: feature-summary
attributes:
label: ✍️ 기능 요약
description: "개발할 기능을 간단히 요약해주세요."
placeholder: "예: JWT 인증 토큰 갱신 기능 구현"

- type: markdown
attributes:
value: |
---

- type: textarea
id: development-purpose
attributes:
label: 🎯 개발 목적
description: "이 기능을 개발하려는 이유나 해결하려는 문제를 작성해주세요."
placeholder: "예: 기존 토큰 만료 시 재로그인해야 하는 불편함을 해결하기 위해 필요합니다."
validations:
required: true

- type: markdown
attributes:
value: |
---

- type: textarea
id: implementation-plan
attributes:
label: 💡 구현 계획
description: "이 기능을 어떻게 개발할지 구체적인 계획을 작성해주세요."
placeholder: "예: 리프레시 토큰을 사용해 만료된 JWT를 갱신하는 API 개발"
validations:
required: true

- type: markdown
attributes:
value: |
---

- type: textarea
id: potential-impact
attributes:
label: 🔍 예상 영향 범위
description: "이 기능 개발이 영향을 줄 수 있는 다른 서비스, 모듈, 또는 데이터베이스를 나열해주세요."
placeholder: "예: AuthService, User 엔티티, Redis 캐시"

- type: markdown
attributes:
value: |
---

- type: input
id: additional-notes
attributes:
label: 📌 참고 사항
description: "추가적인 설명이나 논의가 필요한 부분이 있으면 작성해주세요."
placeholder: "예: 관련된 프론트엔드 변경 사항도 필요합니다."
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/improvement.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Improvement 🏔️
description: 기존 기능을 개선하거나 최적화할 때 사용하세요.
title: "[IMPROVE] 제목을 입력하세요"
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
## 🚀 기능 개선 요약
개선하고자 하는 기능을 간단히 설명해주세요.

- type: textarea
id: improvement-summary
attributes:
label: ✍️ 개선 내용 요약
description: "개선하려는 기능의 내용을 간단히 요약해주세요."
placeholder: "예: 페이지 로딩 속도 최적화"

- type: textarea
id: reason-for-improvement
attributes:
label: 🔍 개선 이유
description: "이 기능을 개선하려는 이유를 작성해주세요. (예: 성능 최적화, 사용자 경험 향상)"
placeholder: "예: 현재 로딩 속도가 느려 사용자 불만이 발생합니다."

- type: textarea
id: improvement-details
attributes:
label: 🛠️ 개선 작업 상세 내용
description: "개선할 작업의 구체적인 내용을 나열해주세요."
placeholder: |
- [ ] 코드 리팩토링
- [ ] 캐싱 로직 추가
- [ ] 데이터베이스 쿼리 최적화

- type: textarea
id: expected-results
attributes:
label: 📈 예상 결과
description: "개선 후 기대되는 결과를 설명해주세요."
placeholder: "예: 페이지 로딩 속도가 20% 빨라질 것으로 예상됩니다."
26 changes: 26 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## 📌 목적
> 이 PR이 해결하려는 문제나 추가하려는 기능의 목적을 간단히 설명해주세요.

## 🛠️ 작업 상세 내용
> 작업한 내용에 대한 설명을 체크리스트 형식으로 작성해주세요.
- [ ] 예: 새로운 인증 API 추가

## 🔍 변경 사항
> 코드 변경 사항을 요약하고 중요한 부분을 설명해주세요.
- 예: `UserService` 클래스에 새로운 메서드 추가

## ✅ 테스트 방법
> 변경된 코드가 어떻게 테스트되었는지 설명해주세요.
1. [ ] 테스트 케이스 작성
2. [ ] 로컬 환경에서 직접 테스트
3. [ ] 기타:

## ⚠️ 주의 사항
> 코드 변경 시 고려해야 할 점이나 리뷰어가 주의해야 할 점이 있으면 작성해주세요.

## 📸 스크린샷 (선택 사항)
> 변경된 기능이 있으면 스크린샷이나 동영상을 추가해주세요.

## 🔗 참고 사항
> 관련된 이슈 번호를 언급해주세요. 추가 참고할 만한 자료나 링크가 있으면 작성해주세요.
- Closes #
45 changes: 45 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Pull Request Build Test

on:
pull_request:
types:
- opened
- synchronize

jobs:
build:
runs-on: ubuntu-latest

steps:
# Checkout the repository
- name: Checkout code
uses: actions/[email protected]

# Set up JDK 21
- name: Set up JDK 21
uses: actions/[email protected]
with:
java-version: '21'
distribution: 'temurin'

# Cache Gradle dependencies
- name: Cache Gradle dependencies
uses: actions/[email protected]
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

# Grant execute permission for Gradle wrapper
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew

- name: Check Java and Gradle version
run: |
java -version
./gradlew --version

# Build project
- name: Build Project
run: ./gradlew clean assemble -x test
57 changes: 57 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# ===================================
# Build & Dependencies
# ===================================
.gradle
build/
out/
*.jar
*.war
*.ear

# ===================================
# IDE
# ===================================
# IntelliJ
.idea/

# VS Code
.vscode/

# ===================================
# Runtime & Logs
# ===================================
*.log
*.pid
*.seed
dump.rdb

# JVM Crash Dumps
hs_err_pid*
replay_pid*

# ===================================
# Secrets & Environment
# ===================================
application-secret.yml
*.env

# ===================================
# Generated Code
# ===================================
# MapStruct 등 코드 생성 라이브러리 결과물
**/generated/

# ===================================
# OS Specific
# ===================================
# macOS
.DS_Store
._*
.Spotlight-V100
.Trashes

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
Loading
Loading