Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
e5910cf
feat/#16
BAEK0111 Jul 25, 2025
a48a2ba
feat/#16
BAEK0111 Jul 25, 2025
0edb4a1
feat/#16-chatting
BAEK0111 Jul 26, 2025
480415b
feat/#16-chatting
BAEK0111 Jul 26, 2025
6df50d6
feat/#16-chatting
BAEK0111 Jul 28, 2025
7781d52
feat/#16-chatting
BAEK0111 Jul 28, 2025
a738591
feat/#16-chatting
BAEK0111 Jul 28, 2025
e2467ec
feat/#16-chatting
BAEK0111 Jul 28, 2025
8aba0b9
feat/#16-chatting
BAEK0111 Jul 28, 2025
0fdea41
feat/#16-chatting
BAEK0111 Jul 30, 2025
cbf6284
feat/#16-chatting
BAEK0111 Aug 3, 2025
32a3e48
feat/#16-chatting
BAEK0111 Aug 5, 2025
f9469dc
feat/#13-review
kimyw1018 Aug 5, 2025
9faab14
[Feat/#14]
sjhwang0 Aug 5, 2025
5423983
feat/#13-review
kimyw1018 Aug 5, 2025
f998fae
feat/#13-review
kimyw1018 Aug 5, 2025
d4232d7
[FEAT/#15] 공동인증 로직 작성 완료
eeeeeaaan Aug 6, 2025
e893d2b
[FEAT/#15] 멤버 정보와 일치하는 admin 찾기
eeeeeaaan Aug 6, 2025
9d3fad8
[FEAT/#15] 엔티티에 set method 설정
eeeeeaaan Aug 6, 2025
291f01b
[FEAT/#15] (최종) 제휴 요청 api
eeeeeaaan Aug 6, 2025
1cdc8ef
[FEAT/#15] (최종) 제휴 요청 api - controller
eeeeeaaan Aug 6, 2025
af27452
feat/#16-chatting
BAEK0111 Aug 7, 2025
4006345
[FIX/#20] 파일명 오타 수정
leesumin0526 Aug 9, 2025
7f06da2
[MOD/#20] fcm 설정
leesumin0526 Aug 9, 2025
a06875f
[FEAT/#15] 유저에게 해당하는 가게 별 제휴 내용 조회
eeeeeaaan Aug 10, 2025
ed663cc
[FEAT/#15] 인증한 유저들까지 partnershipUsage 데이터 저장
eeeeeaaan Aug 10, 2025
ce83ff7
[FEAT/#15] NPE 방지
eeeeeaaan Aug 10, 2025
d60a6e6
feat/#13-review
kimyw1018 Aug 11, 2025
0a561ff
[FEAT/#15] stamp증가
eeeeeaaan Aug 12, 2025
76725dc
feat/#13-review
kimyw1018 Aug 12, 2025
587b9d9
[FEAT/#15] 개인인증 api 추가
eeeeeaaan Aug 13, 2025
3e54b4e
[FEAT/#20] DeviceToken 설정 및 알림 기능 구현
leesumin0526 Aug 13, 2025
0949e58
[FEAT/#21] best 인기 매장 조회 api
eeeeeaaan Aug 13, 2025
2302f11
[FEAT/#21] best 인기 매장 조회 컨트롤러 수정
eeeeeaaan Aug 13, 2025
167e81c
[FEAT/#22] 문의 기능 구현
leesumin0526 Aug 13, 2025
7347cfa
Merge pull request #19 from S0ftwareC0ntest/feat/#16-chatting
BAEK0111 Aug 13, 2025
cd5176e
feat/#13-review
kimyw1018 Aug 13, 2025
04e36cc
feat/#13-review
kimyw1018 Aug 13, 2025
9faeaf0
[Feat/#14]
sjhwang0 Aug 13, 2025
cda83b7
[Feat/#14]
sjhwang0 Aug 13, 2025
6e7ec92
[Feat/#14]
sjhwang0 Aug 13, 2025
8272336
feat/#13-review
kimyw1018 Aug 13, 2025
f08b70e
feat/#13-review
kimyw1018 Aug 13, 2025
8cb1ee4
Merge branch 'feat/#13-review-stamp-read' of https://github.com/S0ftw…
kimyw1018 Aug 13, 2025
826db4d
[FEAT/#21] 나의 제휴내역 조회 임시 커밋
eeeeeaaan Aug 14, 2025
44efc71
[FEAT/#15] 충돌 해결
eeeeeaaan Aug 14, 2025
bc66988
[FEAT/#21] 임시
eeeeeaaan Aug 14, 2025
53e83a2
[FEAT/#15] 인증 테스트 및 수정
eeeeeaaan Aug 14, 2025
ce58d08
[FEAT/#21] 대시보드 (사용자 제휴)내역 조회
eeeeeaaan Aug 14, 2025
c65d2d2
[FEAT/#21] conflict resolve
eeeeeaaan Aug 14, 2025
b30248a
[FEAT/#17] 번호 인증 구현 (추후 사용..)
2ghrms Aug 14, 2025
c97c7a6
[Feat/#14]
sjhwang0 Aug 14, 2025
788dee0
Merge branch 'feat/#17-phone-verification-api' of https://github.com/…
2ghrms Aug 14, 2025
9c0f035
feat/#13-review
kimyw1018 Aug 15, 2025
fe5c116
feat/#13-review
kimyw1018 Aug 15, 2025
42c46ca
feat/#13-review
kimyw1018 Aug 15, 2025
208953d
feat/#13-review
kimyw1018 Aug 15, 2025
4603ca2
[MOD/#22] gitIgnore 수정
leesumin0526 Aug 15, 2025
2a3edf1
Merge branch 'develop' of https://github.com/S0ftwareC0ntest/ASSU_BE …
leesumin0526 Aug 15, 2025
0e1ecef
[FIX/#22] 오류 수정
leesumin0526 Aug 15, 2025
fa1b8e7
[FEAT/#22] 문의 답변 기능 개발
leesumin0526 Aug 15, 2025
d81dbe2
[FEAT/#22] 문의 답변 기능 개발
leesumin0526 Aug 15, 2025
a31a4b0
[FEAT/#22] 에러 처리 추가
leesumin0526 Aug 15, 2025
fbf2762
[MERGE/#20] develop PULL 받아옴
leesumin0526 Aug 15, 2025
e8918e9
[FEAT/#27] 회원가입, 로그인, 로그아웃
2ghrms Aug 15, 2025
bb57f1e
Merge pull request #32 from S0ftwareC0ntest/feat/#27-signup
2ghrms Aug 16, 2025
a15b452
[FEAT/#20] 테스트용 알림 API 구현
leesumin0526 Aug 16, 2025
07057d4
[FEAT/#20] 에러 처리
leesumin0526 Aug 16, 2025
96a5d11
[MOD/#20] 컨트롤러 설명 수정
leesumin0526 Aug 16, 2025
bc84520
[FEAT/#20] 알림 유형별 ON/OFF 토글 API 개발
leesumin0526 Aug 17, 2025
e85dab7
[MERGE/#20] dev PULL 받아옴
leesumin0526 Aug 17, 2025
d308e7d
refactor/#35-멤버 패키지 별도 생성
BAEK0111 Aug 17, 2025
5edfd81
feat/#15 와 병합
eeeeeaaan Aug 17, 2025
59fb43a
[MERGE/#20] dev PULL 받아옴
leesumin0526 Aug 17, 2025
a285fd3
develop 브랜치 충돌 해결 중간 커밋
eeeeeaaan Aug 17, 2025
47bdd51
Merge pull request #36 from S0ftwareC0ntest/refactor/#35-member-packa…
BAEK0111 Aug 18, 2025
b0fa97c
develop 브랜치 충돌 해결(refactor/#35 머지 이후)
eeeeeaaan Aug 18, 2025
2211321
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
ab00255
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
ce91e8c
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
f2ca880
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
d1fb896
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
bf94378
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
f237bd6
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
b4bbc9a
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
7fbdba7
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
0b603be
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
8bacea0
[FIX/#33] 로그인 로그아웃 리프레시 fix
2ghrms Aug 18, 2025
5a1f682
Merge pull request #37 from assu-org/fix/#33-login-out-fix
2ghrms Aug 20, 2025
aeff07d
빌드 오류 수정
eeeeeaaan Aug 20, 2025
6342886
#31 pr 머지 후 충돌 해결
eeeeeaaan Aug 20, 2025
7b22dc3
[PULL/#20] 풀 받아옴
leesumin0526 Aug 20, 2025
9756451
[FEAT/#20] PrincipalDetails 사용하도록 수정
leesumin0526 Aug 20, 2025
2185cb1
[PULL/#22] dev 풀 받아옴
leesumin0526 Aug 20, 2025
7d254b4
[FEAT/#22] pd 쓰도록 수정
leesumin0526 Aug 20, 2025
f6f6826
[FEAT/#33] 숭실대 SSO 인증 및 포털 크롤링 구현
2ghrms Aug 20, 2025
62c6aca
[FEAT/#33] 숭실대 SSO 인증 및 포털 크롤링 구현
2ghrms Aug 20, 2025
58117bc
[FEAT/#33] 숭실대 SSO 인증 및 포털 크롤링 구현
2ghrms Aug 20, 2025
98ee9ca
[FEAT/#33] 숭실대 SSO 인증 및 포털 크롤링 구현
2ghrms Aug 20, 2025
517e543
Merge branch 'develop' into feat/#28-ssu-auth
2ghrms Aug 20, 2025
a30fd1f
[Feat/#24]
sjhwang0 Aug 21, 2025
31ae654
[Feat/#14]
sjhwang0 Aug 21, 2025
e1790b5
[Feat/#14]
sjhwang0 Aug 21, 2025
d781353
[Feat/#14]
sjhwang0 Aug 21, 2025
a0821e2
Merge pull request #34 from assu-org/feat/#20-notifications-setting
leesumin0526 Aug 22, 2025
af1cd3a
Merge pull request #39 from assu-org/feat/#28-ssu-auth
2ghrms Aug 23, 2025
7000ced
Merge branch 'develop' into feat/#22-문의하기
leesumin0526 Aug 24, 2025
e777cf1
Merge pull request #31 from assu-org/feat/#22-문의하기
leesumin0526 Aug 24, 2025
1775c17
[Feat/#14]
sjhwang0 Aug 24, 2025
e4dec95
[Feat/#24]
sjhwang0 Aug 24, 2025
87bc211
merge중 충돌해결
kimyw1018 Aug 26, 2025
02a86e1
[FEAT/#13] s3기반 리뷰 이미지 구현
kimyw1018 Aug 26, 2025
4096f9e
[MOD/#13] pd 반영 수정
kimyw1018 Aug 26, 2025
93ab9b7
[MOD/#13] pd 반영 수정
kimyw1018 Aug 26, 2025
308a6a4
[Feat/#14]
sjhwang0 Aug 26, 2025
8f3e4f4
[Feat/#14]
sjhwang0 Aug 26, 2025
41f34ed
[FIX/#13] CustomAuthException 파일명 변경
kimyw1018 Aug 26, 2025
cd009e0
[Feat/#24]
sjhwang0 Aug 26, 2025
709ca75
[Feat/#24]
sjhwang0 Aug 27, 2025
a7c9f56
Merge pull request #23 from ASSU-org/feat/#14-partnership-suggestion
sjhwang0 Aug 27, 2025
809f645
[MOD/#13] S3 파일 입력 수정
kimyw1018 Aug 27, 2025
74b9129
[MOD/#13] merge 충돌해결
kimyw1018 Aug 27, 2025
aa85f79
Merge pull request #30 from ASSU-org/feat/#13-review-stamp-read
kimyw1018 Aug 27, 2025
b781d55
[Feat/#14]
sjhwang0 Aug 28, 2025
3f0bafb
Merge pull request #43 from ASSU-org/feat/#14-partnership-suggestion
sjhwang0 Aug 28, 2025
06768c5
[MOD/#24]
sjhwang0 Aug 28, 2025
4319a94
#39 pr 머지 후 충돌 해결
eeeeeaaan Aug 28, 2025
b5c96fb
Merge branch 'develop' of https://github.com/S0ftwareC0ntest/ASSU_BE …
eeeeeaaan Aug 28, 2025
a03beea
그룹 인증 시 auth 추가
eeeeeaaan Aug 28, 2025
0dfaa77
Merge pull request #26 from ASSU-org/feat/#21-popular-partenrship
eeeeeaaan Aug 28, 2025
a385546
[MOD/#24]
sjhwang0 Aug 28, 2025
377ab23
제휴내역 조회 수정
eeeeeaaan Aug 29, 2025
4041f06
제휴내역 기록 로직 수정
eeeeeaaan Aug 29, 2025
9727f42
Merge pull request #44 from ASSU-org/feat/#21-popular-partenrship
eeeeeaaan Aug 29, 2025
d5b035f
[MOD/#24]
sjhwang0 Aug 29, 2025
6d714ee
Merge pull request #41 from ASSU-org/feat/#24-map-api
sjhwang0 Aug 29, 2025
2d06d94
[MOD/#24]
sjhwang0 Aug 29, 2025
54d68d5
[FEAT/#42]
leesumin0526 Aug 31, 2025
dd7c5e5
[FEAT]
leesumin0526 Aug 31, 2025
d1cca45
Merge pull request #45 from ASSU-org/feat/#24-map-api
leesumin0526 Aug 31, 2025
35420f0
Merge branch 'develop' of https://github.com/S0ftwareC0ntest/ASSU_BE …
leesumin0526 Aug 31, 2025
a5cbc58
[MOD/#48]
leesumin0526 Aug 31, 2025
7437077
Merge pull request #49 from ASSU-org/mod/#48-pd-security-config
leesumin0526 Aug 31, 2025
7662c29
refactor/#51: application-test.yml에 dummy값 추가 및 gitignore 제외
2ghrms Sep 2, 2025
139dfeb
refactor/#51: firebase service-account.json 추가
2ghrms Sep 2, 2025
95ea5c4
refactor/#51: dev에 pr시 ci 동작하도록 수정
2ghrms Sep 2, 2025
c4f8ca3
refactor/#51: dev에 pr시 ci 동작하도록 수정
2ghrms Sep 2, 2025
41a4ce1
[REFACTOR/#48]
leesumin0526 Sep 2, 2025
d8de26a
[REFACTOR/#48]
leesumin0526 Sep 2, 2025
360b791
[REFACTOR/#48]
leesumin0526 Sep 2, 2025
71f63f1
[REFACTOR/#48]
leesumin0526 Sep 2, 2025
4388fdd
Merge pull request #55 from ASSU-org/refactor/#53-notification-inquir…
leesumin0526 Sep 2, 2025
6b4e040
refactor/#51: firebase 테스트용 Mock bean 주입 및 firebase configuaration은 t…
2ghrms Sep 2, 2025
0fd8159
refactor/#51: cicd 플로우 변경 및 local profile active 삭제
2ghrms Sep 2, 2025
a634516
refactor/#51: Rest URL 네이밍 & 버저닝 & description 추가
2ghrms Sep 2, 2025
d6a1b41
refactor/#51: ./gradlew clean build test --no-build-cache
2ghrms Sep 2, 2025
256bdd2
refactor/#51: 테스트 환경에서 redis 제외 및 Mock bean으로 등록
2ghrms Sep 2, 2025
9ae1c55
refactor/#51: jwt내의 redis 초기화 null-safe 처리
2ghrms Sep 2, 2025
afcd97f
refactor/#51: jwtUtil 테스트에서 제외, Mock Bean 주입
2ghrms Sep 2, 2025
8ee7fe1
refactor/#51: string redis template 제외, redis자체를 test에서 배제
2ghrms Sep 2, 2025
54c6ae4
Merge pull request #54 from ASSU-org/refactor/#51-rest-uri-naming-con…
eeeeeaaan Sep 2, 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
55 changes: 55 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,58 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
install: true

- name: Create buildx builder
run: |
docker buildx create --use --name mybuilder
docker buildx inspect --bootstrap

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build & Push Dependency Cache
run: |
docker buildx build \
--builder mybuilder \
--platform linux/amd64 \
--push \
--file Dockerfile \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
--target dependencies \
--cache-to type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache,mode=max \
.

- name: Build & Push Final App Image
run: |
docker buildx build \
--builder mybuilder \
--platform linux/amd64 \
--push \
--file Dockerfile \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/assu-app:latest \
--build-arg DEPENDENCY_IMAGE=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
--cache-from type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
.

- name: Create application-secret.yml
run: |
mkdir -p ./temp_secret
echo "${{ secrets.APPLICATION_SECRET }}" > ./temp_secret/application-secret.yml
shell: bash

- name: Create service-account.json
run: |
mkdir -p ./temp_secret
echo "${{ secrets.SERVICE_ACCOUNT }}" > ./temp_secret/service-account.json
shell: bash

- name: Copy application-secret.yml to EC2
uses: appleboy/[email protected]
with:
Expand All @@ -26,6 +72,15 @@ jobs:
source: ./temp_secret/application-secret.yml
target: /home/ubuntu/secret/

- name: Copy service-account.json to EC2
uses: appleboy/[email protected]
with:
username: ubuntu
host: ${{ secrets.EC2_HOST }}
key: ${{ secrets.EC2_SSH_KEY }}
source: ./temp_secret/service-account.json
target: /home/ubuntu/secret/

- name: Copy docker-compose.yml
uses: appleboy/[email protected]
with:
Expand Down
44 changes: 3 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: CI Pipeline
on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]

jobs:
ci:
Expand Down Expand Up @@ -32,44 +34,4 @@ jobs:
run: chmod +x ./gradlew

- name: Build and Test
run: ./gradlew clean build test

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
install: true

- name: Create buildx builder
run: |
docker buildx create --use --name mybuilder
docker buildx inspect --bootstrap

- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build & Push Dependency Cache
run: |
docker buildx build \
--builder mybuilder \
--platform linux/amd64 \
--push \
--file Dockerfile \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
--target dependencies \
--cache-to type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache,mode=max \
.

- name: Build & Push Final App Image
run: |
docker buildx build \
--builder mybuilder \
--platform linux/amd64 \
--push \
--file Dockerfile \
--tag ${{ secrets.DOCKERHUB_USERNAME }}/assu-app:latest \
--build-arg DEPENDENCY_IMAGE=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
--cache-from type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/assu-app:dependency-cache \
.
run: ./gradlew clean build test --no-build-cache
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,6 @@ out/

### Secret ###
src/main/resources/application-secret.yml
src/test/resources/application-test.yml
src/test/resources/application-secret.yml

### Firebase ###
src/main/resources/firebase/
44 changes: 42 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id 'java'
id 'org.springframework.boot' version '3.5.3'
id 'io.spring.dependency-management' version '1.1.7'
id 'org.jetbrains.kotlin.jvm'
}

group = 'com.assu'
Expand Down Expand Up @@ -33,23 +34,47 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-security'
testImplementation 'org.springframework.security:spring-security-test'

// redis
implementation 'org.springframework.boot:spring-boot-starter-data-redis'

// rabbit mq
implementation 'org.springframework.boot:spring-boot-starter-amqp'
testImplementation 'org.springframework.amqp:spring-rabbit-test'

// webflux; webclient
implementation 'org.springframework.boot:spring-boot-starter-webflux:3.4.5'

// batch
implementation 'org.springframework.boot:spring-boot-starter-batch'
testImplementation 'org.springframework.batch:spring-batch-test'

//Jwt
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
implementation 'io.jsonwebtoken:jjwt-impl:0.11.5'
implementation 'io.jsonwebtoken:jjwt-jackson:0.11.5'

// GSON
implementation 'com.google.code.gson:gson:2.11.0'

// S3
implementation platform('software.amazon.awssdk:bom:2.25.33')
implementation 'software.amazon.awssdk:s3'

// jsoup (crawl)
implementation 'org.jsoup:jsoup:1.21.1'

// lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

// Swagger 3 (SpringDoc OpenAPI)
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.4'

// chatting
implementation 'org.springframework.boot:spring-boot-starter-websocket'

// maria db
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
implementation 'org.mariadb.jdbc:mariadb-java-client:3.4.1'

// spring test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
Expand All @@ -59,6 +84,21 @@ dependencies {

// h2 db (test)
runtimeOnly 'com.h2database:h2'

// JSON 처리
implementation 'com.fasterxml.jackson.core:jackson-databind'
implementation group: 'org.javassist', name: 'javassist', version: '3.15.0-GA'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

// 공간 데이터
implementation("org.hibernate.orm:hibernate-spatial")
implementation("org.locationtech.jts:jts-core:1.19.0")

// fcm
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation 'com.fasterxml.jackson.core:jackson-databind'
implementation 'com.google.auth:google-auth-library-oauth2-http:1.18.0'
implementation 'com.google.firebase:firebase-admin:9.2.0'
}

tasks.named('test') {
Expand Down
6 changes: 4 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ services:
- SPRING_PROFILES_ACTIVE=blue
- SPRING_CONFIG_ADDITIONAL_LOCATION=file:/app/config/
volumes:
- /home/ubuntu/app/config/application-secret.yml:/app/config/application-secret.yml:ro
- /home/ubuntu/secret/application-secret.yml:/app/config/application-secret.yml:ro
- /home/ubuntu/secret/service-account.json:/app/config/service-account.json:ro
networks:
- assu-network

Expand All @@ -27,7 +28,8 @@ services:
- SPRING_PROFILES_ACTIVE=green
- SPRING_CONFIG_ADDITIONAL_LOCATION=file:/app/config/
volumes:
- /home/ubuntu/app/config/application-secret.yml:/app/config/application-secret.yml:ro
- /home/ubuntu/secret/application-secret.yml:/app/config/application-secret.yml:ro
- /home/ubuntu/secret/service-account.json:/app/config/service-account.json:ro
networks:
- assu-network

Expand Down
Empty file modified gradlew
100644 → 100755
Empty file.
7 changes: 6 additions & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
rootProject.name = 'server'
pluginManagement {
plugins {
id 'org.jetbrains.kotlin.jvm' version '2.2.0'
}
}
rootProject.name = 'Assu'
2 changes: 2 additions & 0 deletions src/main/java/com/assu/server/ServerApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableJpaAuditing
@EnableScheduling
public class ServerApplication {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,32 @@
package com.assu.server.domain.admin.controller;

import com.assu.server.domain.admin.dto.AdminResponseDTO;
import com.assu.server.domain.admin.service.AdminService;
import com.assu.server.global.apiPayload.BaseResponse;
import com.assu.server.global.apiPayload.code.status.SuccessStatus;
import com.assu.server.global.util.PrincipalDetails;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/admin")
@RequiredArgsConstructor
public class AdminController {

private final AdminService adminService;

@Operation(
summary = "파트너 추천 API",
description = "제휴하지 않은 파트너 중 한 곳을 랜덤으로 조회합니다."
)
@GetMapping("/partner-recommend")
public BaseResponse<AdminResponseDTO.RandomPartnerResponseDTO> randomPartnerRecommend(
@AuthenticationPrincipal PrincipalDetails pd
) {
return BaseResponse.onSuccess(SuccessStatus._OK, adminService.suggestRandomPartner(pd.getId()));
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
package com.assu.server.domain.admin.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

public class AdminResponseDTO {

@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public static class RandomPartnerResponseDTO {
private Long partnerId;
private String partnerAddress;
private String partnerDetailAddress;
private String partnerName;
}
}
25 changes: 24 additions & 1 deletion src/main/java/com/assu/server/domain/admin/entity/Admin.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
package com.assu.server.domain.admin.entity;

import com.assu.server.domain.common.entity.Member;

import com.assu.server.domain.user.entity.enums.Major;
import com.assu.server.domain.member.entity.Member;

import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.MapsId;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Id;
import jakarta.persistence.*;
import lombok.*;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import org.locationtech.jts.geom.Point;

import java.time.LocalDateTime;

Expand All @@ -15,6 +24,7 @@
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
@Builder
@Setter
public class Admin {

@Id
Expand All @@ -36,4 +46,17 @@ public class Admin {
private Boolean isSignVerified;

private LocalDateTime signVerifiedAt;

@Enumerated(EnumType.STRING)
private Major major;

@JdbcTypeCode(SqlTypes.GEOMETRY)
private Point point;

private double latitude;
private double longitude;

public void setMember(Member member) {
this.member = member;
}
}
Loading