diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md
new file mode 100644
index 0000000..de7e961
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature-request.md
@@ -0,0 +1,15 @@
+---
+name: Feature request
+about: 기능 개발 템블릿
+title: "[Feat] 제목"
+labels: ''
+assignees: ''
+
+---
+
+## 🛠 Issue
+
+-
+## 📝 To-do
+
+- [ ] todo!
diff --git a/.github/ISSUE_TEMPLATE/fix-template.md b/.github/ISSUE_TEMPLATE/fix-template.md
new file mode 100644
index 0000000..60882e9
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/fix-template.md
@@ -0,0 +1,15 @@
+---
+name: Fix template
+about: 기능 수정 템플릿
+title: "[Fix] 제목"
+labels: ''
+assignees: ''
+
+---
+
+## 🛠 Issue
+
+-
+## 📝 To-do
+
+- [ ] todo!
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..c6aac26
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,45 @@
+name: Deploy Application
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v3
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v3
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Set environment variables
+ run: |
+ echo "DB_HOST=${{ secrets.DB_HOST }}" >> $GITHUB_ENV
+ echo "DB_PORT=${{ secrets.DB_PORT }}" >> $GITHUB_ENV
+ echo "DB_NAME=${{ secrets.DB_NAME }}" >> $GITHUB_ENV
+ echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> $GITHUB_ENV
+ echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> $GITHUB_ENV
+
+ - name: Debug Environment Variables
+ run: env | grep DB_
+
+ - name: Grant execute permission for Gradle
+ run: chmod +x ./gradlew
+
+ - name: Build & Run Tests
+ run: ./gradlew test
+
+ - name: Build Application
+ run: ./gradlew clean build
+
+ - name: Run Application in Background
+ run: |
+ nohup java -jar build/libs/*.jar > app.log 2>&1 &
+ echo $! > app.pid
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index c2065bc..6ab691c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,6 @@ out/
### VS Code ###
.vscode/
+
+### 환경 변수 파일 (.env) 추가 ###
+.env
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index f803aa9..0266a0a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -26,6 +26,7 @@ repositories {
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
+ implementation 'org.springframework.boot:spring-boot-starter-validation'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
diff --git a/docs/pull_request_template.md b/docs/pull_request_template.md
new file mode 100644
index 0000000..997334c
--- /dev/null
+++ b/docs/pull_request_template.md
@@ -0,0 +1,31 @@
+- 제목 : feat(issue 번호): 기능명
+ ex) feat(17): pull request template 작성
+ (확인 후 지워주세요)
+
+## 🔘Part
+
+- [x] BE
+
+
+
+## 🔎 작업 내용
+
+- 기능에서 어떤 부분이
+
+- 구현되었는지 설명해주세요
+
+
+
+## 🔧 앞으로의 과제
+
+- 내일 할 일을
+
+- 적어주세요
+
+
+
+## ➕ 이슈 링크
+
+- [레포 이름 #이슈번호](이슈 주소)
+
+
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 39ddafc..266dde8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,16 +1,28 @@
server:
port: 8082
address: 0.0.0.0
+
spring:
application:
name: haruhan-mail
+
datasource:
url: jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
driver-class-name: com.mysql.cj.jdbc.Driver
+
+ jpa:
+ hibernate:
+ ddl-auto: update # 기본값 update
+ show-sql: true
+ properties:
+ hibernate:
+ format_sql: true
+
logging:
level:
root: info
+
profiles:
active: dev
\ No newline at end of file