Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
e37f632
chalpu 프로젝트 초기 설정 완료 - oauth 세팅 완료
GoToBILL Jun 18, 2025
a3a1a3e
Update slack-merge-notify.yml
GoToBILL Jun 18, 2025
525b413
feat: 도메인별 엔티티 구조 정리 및 복합키 제거
GoToBILL Jun 30, 2025
5a25703
feat: OAuth 구조 정리 및 FCM 로직 완전 제거
GoToBILL Jun 30, 2025
690f108
refactor: 기존 security 패키지 삭제 및 User 엔티티 수정
GoToBILL Jun 30, 2025
ad42939
refactor: 공통 설정 및 예외 처리 수정
GoToBILL Jun 30, 2025
cf28012
feat: CI/CD 워크플로우 추가
GoToBILL Jun 30, 2025
3c5e912
chore: build.gradle 의존성 업데이트
GoToBILL Jun 30, 2025
d112e37
chore: application.yml 프로파일 설정 정리
GoToBILL Jun 30, 2025
c55b6b8
chore: workflow file modified
GoToBILL Jun 30, 2025
b8828eb
chore: java ec2 install
GoToBILL Jun 30, 2025
459b66c
fix: 스키마 vaildate -> update
GoToBILL Jun 30, 2025
8b7e1c4
fix: workflow 파일 디버깅 코드 추가
GoToBILL Jun 30, 2025
14d414c
refactor: add @builder.default
GoToBILL Jul 1, 2025
c2a7b36
fix: workflow file add scp-action
GoToBILL Jul 1, 2025
707c57e
refactor: scp-version 수정
GoToBILL Jul 1, 2025
bcc5599
refactor: 빌드 파일 재확인
GoToBILL Jul 1, 2025
6041900
fix: 스프링 버전 충돌 해결
GoToBILL Jul 1, 2025
3f0e3bb
fix: debuging code add
GoToBILL Jul 1, 2025
aa543e5
fix: timeout add
GoToBILL Jul 1, 2025
68bf3ad
fix: separate ssh
GoToBILL Jul 1, 2025
44a9c37
refactor: delete scp-action
GoToBILL Jul 1, 2025
f9a315d
refactor: return original
GoToBILL Jul 1, 2025
74ef599
refactor: add -vvv option
GoToBILL Jul 1, 2025
6fef62a
refactor: bashrc add
GoToBILL Jul 1, 2025
abb61d1
feat: Add PageResponse common response structure for pagination
GoToBILL Jul 2, 2025
d235893
feat: Add domain-specific exception classes for error handling
GoToBILL Jul 2, 2025
cbec906
feat: Update ErrorMessage and GlobalExceptionHandler for comprehensiv…
GoToBILL Jul 2, 2025
b9cce0e
feat: Add FCM (Firebase Cloud Messaging) system with token management…
GoToBILL Jul 2, 2025
aa89c66
feat: Add Store domain with controller, repository, and service layers
GoToBILL Jul 2, 2025
bde6526
feat: Add FoodItem domain with controller, repository, and service la…
GoToBILL Jul 2, 2025
c87b466
feat: Add Menu domain with controller, repository, and service layers…
GoToBILL Jul 2, 2025
7eb7c83
feat: Add Photo domain with controller, repository, and service layers
GoToBILL Jul 2, 2025
e3bd148
feat: Update User domain for OAuth integration and audit trail
GoToBILL Jul 2, 2025
69b6164
feat: Add FCM token support to OAuth login DTOs
GoToBILL Jul 2, 2025
758f090
feat: Integrate FCM token handling in OAuth controllers
GoToBILL Jul 2, 2025
3462f6f
feat: Enhance OAuth services with FCM token registration and provider…
GoToBILL Jul 2, 2025
d65870e
build: Add Firebase Admin SDK dependency for FCM integration
GoToBILL Jul 2, 2025
d6f6f2c
config: Update production configuration for AWS deployment
GoToBILL Jul 2, 2025
d1fbab8
ci: Update CI/CD workflow for enhanced deployment process
GoToBILL Jul 2, 2025
8303bd3
cleanup: Remove unnecessary .keep files after adding actual implement…
GoToBILL Jul 2, 2025
f893991
config: Update .gitignore for Firebase security
GoToBILL Jul 2, 2025
f118c2d
refactor: createdAt, updatedAt -> BaseTimeEntity로 변경
GoToBILL Jul 2, 2025
376d2db
delete: not null 삭제
GoToBILL Jul 2, 2025
60717c7
feat: refresh token add
GoToBILL Jul 2, 2025
2c1d091
fix: 리프레쉬 토큰 로직 수정
GoToBILL Jul 2, 2025
bbd81f6
Update issue templates
GoToBILL Jul 3, 2025
609a915
feat: 랜딩페이지에서 (이메일 or 이름) and 불편한 점 받아서 서버 저장
GoToBILL Jul 4, 2025
fcae2ff
Merge pull request #4 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
3a6a5f6
feat: store 관련 기능 구현 및 테스트 코드 작성
GoToBILL Jul 4, 2025
03db32f
refactor: 도메인별 서비스 로직 개선 및 리팩토링
GoToBILL Jul 4, 2025
060dde3
Merge pull request #5 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
3bc45b6
refactor: securityConfig에 /landing path add
GoToBILL Jul 4, 2025
103d825
refactor: email, phone -> info
GoToBILL Jul 4, 2025
4c28cd5
Merge pull request #6 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
85f1228
feat: Add guide upload and management API
GoToBILL Jul 4, 2025
c576dd5
feat(photo): Enhance photo API with S3 presigned URL
GoToBILL Jul 4, 2025
3cb3524
refactor: Update security configs and add exception messages
GoToBILL Jul 4, 2025
a5ee09e
Merge pull request #7 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
594a230
Update slack-merge-notify.yml
GoToBILL Jul 4, 2025
c861124
refactor: update yml
GoToBILL Jul 4, 2025
fc3a095
refactor: update workflow
GoToBILL Jul 4, 2025
357d270
Merge pull request #8 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
06f0fb7
refactor: update source
GoToBILL Jul 4, 2025
d191310
Merge pull request #9 from ChalpuCamera/feature/#3-api-enhancement-an…
GoToBILL Jul 4, 2025
3a57be3
refactor: add @builder.defalut And remove s3 환경변수
GoToBILL Jul 4, 2025
5c54653
Merge pull request #10 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 4, 2025
05adaf5
refactor: add Role and enhance jwt logic
GoToBILL Jul 5, 2025
8ffef8a
Merge pull request #11 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 5, 2025
ad3306b
refactor: log 로직에 role print 추가
GoToBILL Jul 5, 2025
e744a0f
Merge pull request #12 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 5, 2025
73d8cdb
refactor: add foodItemId별 조회 기능
GoToBILL Jul 6, 2025
cdf49cd
Merge pull request #13 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 6, 2025
870cdd5
refactor(ErrorMessage): 에러 메시지 내용 보강
GoToBILL Jul 6, 2025
3dbbb5b
refactor(FoodItemController): API 응답 형식 ApiResponse로 통일
GoToBILL Jul 6, 2025
2d8e736
feat(FoodItem): 엔티티에 비즈니스 로직(create, update, softDelete) 추가
GoToBILL Jul 6, 2025
b86c555
feat(FoodItemRepository): 음식 이름 검색 기능 추가
GoToBILL Jul 6, 2025
07a9e21
refactor(FoodItemService): 구조화 로깅 적용 및 엔티티 위임 리팩토링
GoToBILL Jul 6, 2025
9447d17
feat(MenuController): 메뉴 수정 API 추가 및 삭제 API 경로 수정
GoToBILL Jul 6, 2025
66fcd36
feat(MenuItemController): 순서 변경 API 추가 및 응답 형식 통일
GoToBILL Jul 6, 2025
c5ab596
feat(Menu): 엔티티에 비즈니스 로직(create, update, softDelete) 추가
GoToBILL Jul 6, 2025
2ba6139
feat(MenuItem): 메뉴 아이템 순서 변경 로직 추가
GoToBILL Jul 6, 2025
7f1ad20
refactor(MenuItemRepository): 소프트 딜리트를 위한 조회 로직 수정
GoToBILL Jul 6, 2025
6a00c54
refactor(MenuRepository): 소프트 딜리트를 위한 조회 로직 수정
GoToBILL Jul 6, 2025
bc9f901
refactor(MenuService): MenuItem 관련 로직 위임 및 리팩토링
GoToBILL Jul 6, 2025
dc28d87
refactor(AuthService): 구조화 로깅 적용
GoToBILL Jul 6, 2025
cb29ba2
refactor(RefreshTokenService): 구조화 로깅 적용
GoToBILL Jul 6, 2025
58951b0
refactor(PhotoService): 구조화 로깅 적용
GoToBILL Jul 6, 2025
58b8de6
refactor(StoreService): 구조화 로깅 적용
GoToBILL Jul 6, 2025
1c8a659
refactor(UserStoreRoleService): 구조화 로깅 적용
GoToBILL Jul 6, 2025
568e4a8
feat(MenuItem): 순서 변경을 위한 DTO 추가
GoToBILL Jul 6, 2025
8e1a667
feat(MenuItem): 단일 책임 원칙 적용을 위한 MenuItemService 분리
GoToBILL Jul 6, 2025
5a82ee9
test(MenuItemService): MenuItemService 테스트 코드 추가
GoToBILL Jul 6, 2025
eab9c3f
test(MenuService): 서비스 책임 분리에 따른 테스트 코드 수정
GoToBILL Jul 6, 2025
9c2032d
test(PhotoService): PhotoService 테스트 코드 추가
GoToBILL Jul 6, 2025
6c04377
Merge pull request #14 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 6, 2025
f7bf439
refactor: isActive 플래그 기반 소프트 삭제 로직으로 변경
GoToBILL Jul 7, 2025
52763a0
feat: 가이드 및 태그 기능 구현, 소프트 삭제 적용
GoToBILL Jul 7, 2025
821b513
Merge pull request #15 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 7, 2025
3b9ad94
refactor: response id -> 더 직관적으로 변경
GoToBILL Jul 7, 2025
d96f1df
Merge pull request #16 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 7, 2025
27c3cb5
refactor: add @builder.default
GoToBILL Jul 7, 2025
0ade348
Merge pull request #17 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 7, 2025
91bc62f
refactor: add scg3key
GoToBILL Jul 8, 2025
9f80531
Merge pull request #18 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 8, 2025
6897da9
refactor: add delete method
GoToBILL Jul 8, 2025
0b83b7a
Merge pull request #19 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 8, 2025
0340742
refactor: add 401 error check logic
GoToBILL Jul 10, 2025
2091ab2
Merge pull request #20 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 10, 2025
4c2ce9f
fix: Repository 메서드 이름 문제 해결 및 애플리케이션 시작 오류 수정
GoToBILL Jul 14, 2025
b6ba2d4
refactor: remove arn
GoToBILL Jul 14, 2025
fdcd45a
Merge pull request #21 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 14, 2025
5304c3d
fix: UserStoreRoleRepository 메서드명 네이밍 규칙 수정
GoToBILL Jul 14, 2025
22941d6
Merge pull request #22 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 14, 2025
0ae3f5b
refactor: jwt create/validate의 메서드를 최신 메서드로 변경
GoToBILL Jul 15, 2025
906bd2a
Merge pull request #23 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 15, 2025
5038577
fix: 삭제할 때 외래키 에러 수정 및 소프트 딜리트 구현
GoToBILL Jul 17, 2025
26dac26
Merge pull request #29 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 17, 2025
3dde9cd
refactor: 불필요한 연관관계 삭제
GoToBILL Jul 17, 2025
7f34d63
Merge pull request #30 from ChalpuCamera/feature/#3-api-enhancement-a…
GoToBILL Jul 17, 2025
3941b4b
feat: add oidc & terraform setting
GoToBILL Jul 21, 2025
26f9dd3
feat: tip api create & 브랜치 dev에서 Develop으로 변경
GoToBILL Jul 22, 2025
a076676
Merge pull request #35 from ChalpuCamera/dev
GoToBILL Jul 22, 2025
79fb867
Remove terraform directory from version control
GoToBILL Jul 22, 2025
a79900e
refactor: homeController 중복 제거
GoToBILL Jul 22, 2025
f8a5447
refactor: tip 수정
GoToBILL Jul 22, 2025
57f79fd
refactor: apiResponse로 수정
GoToBILL Jul 22, 2025
df3a7b8
feat: photoroom api 구현
GoToBILL Jul 23, 2025
490db91
feat: ci-cd yml delete
GoToBILL Jul 23, 2025
c336162
fix: 컨트롤러 api 엔드포인트 변경
GoToBILL Jul 23, 2025
d03df5a
refactor: 로그 형태 변경
GoToBILL Jul 23, 2025
6ff5a95
refactor: multipart file 용량 변경 및 액세스 토큰 2시간으로 증가
GoToBILL Jul 24, 2025
9b7ac71
refactor: tmp s3key add
GoToBILL Jul 24, 2025
fb32825
refactor: add updatedAt
GoToBILL Jul 25, 2025
f5f5a73
fix: add patch cors
GoToBILL Jul 27, 2025
05c4207
refactor: prod, dev 환경 분리
GoToBILL Jul 28, 2025
2176650
refactor: 유저 복구 추가 및 수정 request에 썸네일 콜럼 추가
GoToBILL Jul 28, 2025
256e941
refactor: prod & dev 환경 분리
GoToBILL Jul 28, 2025
5ce0da8
refactor: 워크플로우 파일 수정
GoToBILL Jul 28, 2025
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
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: 기능 추가 템플릿
title: ''
labels: ''
assignees: ''

---

## 어떤 기능인가요?

> 추가하려는 기능에 대해 간결하게 설명해주세요

## 작업 상세 내용

- [ ] TODO
- [ ] TODO
- [ ] TODO

## 참고할만한 자료(선택)
65 changes: 65 additions & 0 deletions .github/workflows/deploy-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Deploy to Development Environment

on:
push:
branches: [ develop ]

jobs:
build-and-deploy:
runs-on: ubuntu-latest
timeout-minutes: 10

permissions:
id-token: write
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew clean -x test build

- name: Rename JAR for deployment
run: cp build/libs/chalpu-0.0.1-SNAPSHOT.jar app.jar

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-dev-role
aws-region: ap-northeast-2

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build, tag, and push image to Amazon ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: chalpu-dev-app
IMAGE_TAG: dev-${{ github.sha }}
run: |
docker build --platform linux/amd64 -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:dev-latest
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
docker push $ECR_REGISTRY/$ECR_REPOSITORY:dev-latest

- name: Update ECS service
env:
ECS_CLUSTER: chalpu-ecs-cluster
ECS_SERVICE: chalpu-dev-app-service
run: |
aws ecs update-service \
--cluster $ECS_CLUSTER \
--service $ECS_SERVICE \
--force-new-deployment \
--region ap-northeast-2
68 changes: 68 additions & 0 deletions .github/workflows/deploy-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Deploy to Production Environment

on:
push:
branches: [ main ]

jobs:
build-and-deploy:
runs-on: ubuntu-latest
timeout-minutes: 15

permissions:
id-token: write
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '17'

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Run tests
run: ./gradlew test

- name: Build with Gradle
run: ./gradlew clean build

- name: Rename JAR for deployment
run: cp build/libs/chalpu-0.0.1-SNAPSHOT.jar app.jar

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/github-actions-prod-role
aws-region: ap-northeast-2

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Build, tag, and push image to Amazon ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: chalpu-dev-app
IMAGE_TAG: prod-${{ github.sha }}
run: |
docker build --platform linux/amd64 -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker tag $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:prod-latest
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
docker push $ECR_REGISTRY/$ECR_REPOSITORY:prod-latest

- name: Update ECS service
env:
ECS_CLUSTER: chalpu-ecs-prod-cluster
ECS_SERVICE: chalpu-prod-app-service
run: |
aws ecs update-service \
--cluster $ECS_CLUSTER \
--service $ECS_SERVICE \
--force-new-deployment \
--region ap-northeast-2
14 changes: 9 additions & 5 deletions .github/workflows/slack-merge-notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
push:
branches:
- main
- dev # 필요 시 여기에 사용 중인 브랜치 추가
- develop

jobs:
notify:
Expand All @@ -15,13 +15,17 @@ jobs:
- name: Send Slack Message (PR Merge or Direct Push)
run: |
if [ "${{ github.event_name }}" = "pull_request" ] && [ "${{ github.event.pull_request.merged }}" = "true" ]; then
# PR이 머지되었을 때만 실행
curl -X POST -H 'Content-type: application/json' \
--data '{
"text": "✔️ PR #${{ github.event.pull_request.number }}이 `${{ github.event.pull_request.base.ref }}` 브랜치에 머지되었습니다.\n머지한 사람: ${{ github.actor }}\n<${{ github.event.pull_request.html_url }}|PR 보러가기>"
}' ${{ secrets.SLACK_WEBHOOK_URL }}
elif [ "${{ github.event_name }}" = "push" ]; then
curl -X POST -H 'Content-type: application/json' \
--data '{
"text": "✔️ `${{ github.ref_name }}` 브랜치에 커밋이 푸시되었습니다.\n커밋한 사람: ${{ github.actor }}\n<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|커밋 보러가기>"
}' ${{ secrets.SLACK_WEBHOOK_URL }}
# 커밋의 작성자가 'GitHub'가 아닌 경우, 즉 사용자가 직접 푸시한 경우에만 실행
if [ "${{ github.event.head_commit.committer.name }}" != "GitHub" ]; then
curl -X POST -H 'Content-type: application/json' \
--data '{
"text": "✔️ `${{ github.ref_name }}` 브랜치에 커밋이 푸시되었습니다.\n커밋한 사람: ${{ github.actor }}\n<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|커밋 보러가기>"
}' ${{ secrets.SLACK_WEBHOOK_URL }}
fi
fi
57 changes: 57 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

lambda-edge/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

application-local.yml

firebase-service-account.json
# Test utility controller
src/main/java/com/example/chalpu/util/TestUtilController.java

### Terraform ###
terraform/
*.tfstate
*.tfstate.*
.terraform/
.terraform.lock.hcl
terraform.tfvars
*.tfvars
terraform-deploy.sh
deploy.sh
create-parameters.sh
9 changes: 9 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM --platform=linux/amd64 gcr.io/distroless/java17-debian11

WORKDIR /app

COPY build/libs/chalpu-0.0.1-SNAPSHOT.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "app.jar"]
66 changes: 66 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.6'
id 'io.spring.dependency-management' version '1.1.7'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-web-services'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.4.0'
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.3'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.3'

// Google API Client for ID Token Verification
implementation 'com.google.api-client:google-api-client:2.0.0'

// Firebase Admin SDK for FCM
implementation 'com.google.firebase:firebase-admin:9.2.0'

implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'io.awspring.cloud:spring-cloud-aws-starter-s3:3.1.1'
implementation 'org.springframework.boot:spring-boot-starter-actuator'

// Prometheus 메트릭 수집을 위한 Micrometer
implementation 'io.micrometer:micrometer-registry-prometheus'

// Loki 로그 전송을 위한 Appender
implementation 'com.github.loki4j:loki-logback-appender:1.5.2'
}

tasks.named('test') {
useJUnitPlatform()
}
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading