Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: team-yello/YELLO-Server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.0.0v
Choose a base ref
...
head repository: team-yello/YELLO-Server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Feb 16, 2024

  1. Copy the full SHA
    357b696 View commit details

Commits on Feb 25, 2024

  1. develop [develop] merge

    hyeonjeongs committed Feb 25, 2024
    Copy the full SHA
    cb1a87b View commit details

Commits on Feb 26, 2024

  1. Copy the full SHA
    4447168 View commit details
  2. Copy the full SHA
    b025439 View commit details
  3. Copy the full SHA
    926afde View commit details
  4. YEL-214 [feat] lunch event spring batch, scheduler 연결

    hyeonjeongs committed Feb 26, 2024
    Copy the full SHA
    f2b6438 View commit details

Commits on Feb 28, 2024

  1. YEL-214 [feat] 투표 열람시 보낸사람에게 푸시알림

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    c895a0b View commit details
  2. YEL-214 [fix] 오류 해결

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    d8b09d0 View commit details
  3. Copy the full SHA
    a888fe5 View commit details
  4. YEL-214 [fix] vote repository

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    2996d45 View commit details
  5. YEL-214 [fix] vote repository

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    daa06e8 View commit details
  6. YEL-214 [fix] vote 테스트

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    4b4a5c4 View commit details
  7. Copy the full SHA
    01f65ca View commit details
  8. YEL-214 [feat] 푸시알림 구현 및 unit test

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    4b94592 View commit details
  9. YEL-214 [setting] YEL-214 [fix] 스프링 배치이슈

    hyeonjeongs committed Feb 28, 2024
    Copy the full SHA
    a127d97 View commit details

Commits on Feb 29, 2024

  1. YEL-214 [feat] spring batch reader 되지 않는 이슈 해결

    hyeonjeongs committed Feb 29, 2024
    Copy the full SHA
    03a9898 View commit details
  2. YEL-214 [feat] formatting

    hyeonjeongs committed Feb 29, 2024
    Copy the full SHA
    a5f02fb View commit details
  3. YEL-214 [feat] formatting

    hyeonjeongs committed Feb 29, 2024
    Copy the full SHA
    82547af View commit details

Commits on Mar 1, 2024

  1. YEL-214 [setting/feat] spring batch setting & lunch event 스케줄링 구현

    YEL-214 [setting/feat] spring batch setting & lunch event 스케줄링 구현
    hyeonjeongs authored Mar 1, 2024
    Copy the full SHA
    7bae149 View commit details
  2. YEL-214 [deploy] spring batch setting & lunch event 스케줄링 구현

    YEL-214 [deploy] spring batch setting & lunch event 스케줄링 구현
    hyeonjeongs authored Mar 1, 2024
    Copy the full SHA
    d275132 View commit details
  3. YEL-214 [setting] YEL-214 [fix] 푸시알림 target, user 설정

    hyeonjeongs committed Mar 1, 2024
    Copy the full SHA
    cc1d650 View commit details
  4. YEL-214 [fix] 푸시알림 target, user 설정

    YEL-214 [fix] 푸시알림 target, user 설정
    hyeonjeongs authored Mar 1, 2024
    Copy the full SHA
    42bb5e4 View commit details
  5. YEL-214 [deploy] 푸시알림 target, user 설정

    YEL-214 [deploy] 푸시알림 target, user 설정
    hyeonjeongs authored Mar 1, 2024
    Copy the full SHA
    cfa0106 View commit details

Commits on Mar 2, 2024

  1. YEL-214 [setting] YEL-214 [fix] 푸시알림 type 수정

    hyeonjeongs committed Mar 2, 2024
    Copy the full SHA
    72720da View commit details
  2. YEL-214 [fix] 푸시알림 type 수정

    YEL-214 [fix] 푸시알림 type 수정
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    8798786 View commit details
  3. YEL-214 [deploy] 푸시알림 type 수정

    YEL-214 [deploy] 푸시알림 type 수정
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    8b3b3e0 View commit details
  4. [deploy] 2.0.1 deploy

    [deploy] 2.0.1 deploy
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    c89d245 View commit details
  5. YEL-214 [setting] zone time 반영

    hyeonjeongs committed Mar 2, 2024
    Copy the full SHA
    f733aa1 View commit details
  6. YEL-214 [setting] zone time 반영

    YEL-214 [setting] zone time 반영
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    4bc70c1 View commit details
  7. YEL-214 [setting] zone time 반영

    YEL-214 [setting] zone time 반영
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    a489c61 View commit details
  8. YEL-214 [�deploy] 2.0.1 배포

    YEL-214 [�deploy] 2.0.1 배포
    hyeonjeongs authored Mar 2, 2024
    Copy the full SHA
    3d280aa View commit details

Commits on Mar 5, 2024

  1. develop [develop] (fix) 날짜별 기준 이벤트 참여이력 조회 로직 추가

    user 이름 committed Mar 5, 2024
    Copy the full SHA
    9af8a39 View commit details
  2. Merge pull request #474 from team-yello/develop

    develop [develop] (fix) 날짜별 기준 이벤트 참여이력 조회 로직 추가
    euije authored Mar 5, 2024
    Copy the full SHA
    8019598 View commit details
  3. Merge pull request #475 from team-yello/staging

    [hotfix] (fix) 날짜별 기준 이벤트 참여이력 조회 로직 추가
    euije authored Mar 5, 2024
    Copy the full SHA
    bb465f3 View commit details

Commits on Mar 9, 2024

  1. Copy the full SHA
    066142b View commit details
  2. YEL-223 [fix] 검색 빈리스트시 오류 발생 해결

    hyeonjeongs committed Mar 9, 2024
    Copy the full SHA
    ab7ee4e View commit details
  3. YEL-223 [fix] 학교로 친구 검색시 빈리스트 문제 해결

    YEL-223 [fix] 학교로 친구 검색시 빈리스트 문제 해결
    hyeonjeongs authored Mar 9, 2024
    Copy the full SHA
    751c030 View commit details
  4. YEL-223 [fix] 학교로 친구 검색시 빈리스트 문제 해결

    YEL-223 [fix] 학교로 친구 검색시 빈리스트 문제 해결
    hyeonjeongs authored Mar 9, 2024
    Copy the full SHA
    82a88fa View commit details

Commits on Mar 12, 2024

  1. YEL-224 [feat] Pay 도메인 삭제

    user 이름 committed Mar 12, 2024
    Copy the full SHA
    794f741 View commit details
  2. YEL-224 [feat] Pay 테스트 및 서류 삭제

    user 이름 committed Mar 12, 2024
    Copy the full SHA
    1dcf26e View commit details
  3. YEL-224 [feat] 게시글/댓글 기능 추가

    user 이름 committed Mar 12, 2024
    Copy the full SHA
    c3b89f0 View commit details
  4. Merge pull request #478 from team-yello/feat/YEL-224

    YEL-224 [feat] 게시글/댓글 기능 추가
    euije authored Mar 12, 2024
    Copy the full SHA
    e9f18d8 View commit details
  5. Merge pull request #479 from team-yello/develop

    [feat] 댓글 게시글 추가
    euije authored Mar 12, 2024
    Copy the full SHA
    7af29d2 View commit details

Commits on Mar 13, 2024

  1. Merge pull request #480 from team-yello/develop

    �deploy 2.0.2v
    euije authored Mar 13, 2024
    Copy the full SHA
    88a2577 View commit details

Commits on Mar 25, 2024

  1. YEL-228 [feat] [refactor] Slack Message refactor

    euije committed Mar 25, 2024
    Copy the full SHA
    bc99565 View commit details
  2. Merge pull request #481 from team-yello/feat/YEL-228

    YEL-228 [feat] [refactor] Slack Message refactor
    euije authored Mar 25, 2024
    Copy the full SHA
    cfaa838 View commit details
  3. YEL-228 [feat] SlackService mock 주입

    euije committed Mar 25, 2024
    Copy the full SHA
    c8b91ec View commit details
  4. Merge pull request #482 from team-yello/feat/YEL-228

    YEL-228 [feat] SlackService mock 주입
    euije authored Mar 25, 2024
    Copy the full SHA
    30e154c View commit details
  5. Merge pull request #483 from team-yello/develop

    YEL-228 [refactor] Slack Message refactor
    euije authored Mar 25, 2024
    Copy the full SHA
    1d67da2 View commit details
  6. Merge branch 'main' into staging

    euije authored Mar 25, 2024
    Copy the full SHA
    1207325 View commit details
Showing with 2,711 additions and 1,038 deletions.
  1. +4 −4 .github/workflows/deploy-test.yml
  2. +4 −4 .github/workflows/deploy.yml
  3. +2 −0 .gitignore
  4. +4 −4 appspec.yml
  5. +9 −2 build.gradle
  6. +0 −6 docker/docker-compose.blue.yml
  7. +0 −6 docker/docker-compose.green.yml
  8. +1 −0 lombok.config
  9. +16 −16 scripts/deploy.sh
  10. +0 −5 src/docs/asciidoc/index.adoc
  11. +0 −10 src/docs/asciidoc/pay.adoc
  12. +4 −0 src/main/java/com/yello/server/ServerApplication.java
  13. +6 −3 src/main/java/com/yello/server/domain/authorization/controller/AuthController.java
  14. +17 −2 src/main/java/com/yello/server/domain/authorization/filter/JwtExceptionFilter.java
  15. +7 −0 src/main/java/com/yello/server/domain/authorization/filter/JwtFilter.java
  16. +30 −19 src/main/java/com/yello/server/domain/authorization/service/AuthService.java
  17. +5 −4 src/main/java/com/yello/server/domain/event/service/EventService.java
  18. +1 −0 src/main/java/com/yello/server/domain/friend/service/FriendService.java
  19. +0 −28 src/main/java/com/yello/server/domain/pay/controller/PayController.java
  20. +0 −10 src/main/java/com/yello/server/domain/pay/dto/request/PayCountRequest.java
  21. +0 −11 src/main/java/com/yello/server/domain/pay/repository/PayJpaRepository.java
  22. +0 −12 src/main/java/com/yello/server/domain/pay/repository/PayRepository.java
  23. +0 −24 src/main/java/com/yello/server/domain/pay/repository/PayRepositoryImpl.java
  24. +0 −29 src/main/java/com/yello/server/domain/pay/service/PayService.java
  25. +27 −11 src/main/java/com/yello/server/domain/purchase/controller/PurchaseController.java
  26. +20 −8 src/main/java/com/yello/server/domain/purchase/controller/PurchaseNotificationController.java
  27. +8 −0 src/main/java/com/yello/server/domain/purchase/repository/PurchaseJpaRepository.java
  28. +9 −1 src/main/java/com/yello/server/domain/purchase/repository/PurchaseRepository.java
  29. +21 −4 src/main/java/com/yello/server/domain/purchase/repository/PurchaseRepositoryImpl.java
  30. +22 −7 src/main/java/com/yello/server/domain/purchase/service/PurchaseService.java
  31. +22 −0 src/main/java/com/yello/server/domain/statistics/dto/RevenueVO.java
  32. +13 −0 src/main/java/com/yello/server/domain/statistics/dto/SignUpVO.java
  33. +16 −0 src/main/java/com/yello/server/domain/statistics/dto/VoteItem.java
  34. +11 −0 src/main/java/com/yello/server/domain/statistics/dto/VoteVO.java
  35. +53 −0 src/main/java/com/yello/server/domain/statistics/entity/StatisticsDaily.java
  36. +8 −0 src/main/java/com/yello/server/domain/statistics/repository/StatisticsDailyJpaRepository.java
  37. +5 −0 src/main/java/com/yello/server/domain/statistics/repository/StatisticsRepository.java
  38. +13 −0 src/main/java/com/yello/server/domain/statistics/repository/StatisticsRepositoryImpl.java
  39. +69 −0 src/main/java/com/yello/server/domain/statistics/service/StatisticsService.java
  40. +26 −3 src/main/java/com/yello/server/domain/statistics/task/StatisticsTask.java
  41. +22 −0 src/main/java/com/yello/server/domain/user/controller/UserController.java
  42. +16 −0 src/main/java/com/yello/server/domain/user/dto/request/UserPostCommentUpdateRequest.java
  43. +13 −0 src/main/java/com/yello/server/domain/user/dto/response/UserPostCommentResponse.java
  44. +40 −0 src/main/java/com/yello/server/domain/user/dto/response/UserPostCommentVO.java
  45. +1 −1 src/main/java/com/yello/server/domain/user/dto/response/UserSubscribeDetailResponse.java
  46. +28 −19 src/main/java/com/yello/server/domain/{pay/entity/Pay.java → user/entity/UserPost.java}
  47. +73 −0 src/main/java/com/yello/server/domain/user/entity/UserPostComment.java
  48. +31 −0 src/main/java/com/yello/server/domain/user/entity/UserPostCommentStatus.java
  49. +25 −0 src/main/java/com/yello/server/domain/user/entity/UserPostCommentStatusConverter.java
  50. +31 −0 src/main/java/com/yello/server/domain/user/entity/UserPostStatus.java
  51. +25 −0 src/main/java/com/yello/server/domain/user/entity/UserPostStatusConverter.java
  52. +13 −0 src/main/java/com/yello/server/domain/user/exception/UserPostNotFoundException.java
  53. +71 −67 src/main/java/com/yello/server/domain/user/repository/UserJpaRepository.java
  54. +24 −0 src/main/java/com/yello/server/domain/user/repository/UserPostCommentJpaRepository.java
  55. +8 −0 src/main/java/com/yello/server/domain/user/repository/UserPostJpaRepository.java
  56. +29 −0 src/main/java/com/yello/server/domain/user/repository/UserPostRepository.java
  57. +65 −0 src/main/java/com/yello/server/domain/user/repository/UserPostRepositoryImpl.java
  58. +13 −1 src/main/java/com/yello/server/domain/user/repository/UserRepository.java
  59. +45 −2 src/main/java/com/yello/server/domain/user/repository/UserRepositoryImpl.java
  60. +76 −2 src/main/java/com/yello/server/domain/user/service/UserService.java
  61. +31 −2 src/main/java/com/yello/server/domain/vote/repository/VoteJpaRepository.java
  62. +4 −0 src/main/java/com/yello/server/domain/vote/repository/VoteRepository.java
  63. +8 −1 src/main/java/com/yello/server/domain/vote/repository/VoteRepositoryImpl.java
  64. +68 −75 src/main/java/com/yello/server/domain/vote/service/VoteManagerImpl.java
  65. +6 −0 src/main/java/com/yello/server/domain/vote/service/VoteService.java
  66. +2 −0 src/main/java/com/yello/server/global/common/ErrorCode.java
  67. +2 −0 src/main/java/com/yello/server/global/common/SuccessCode.java
  68. +9 −0 src/main/java/com/yello/server/global/common/annotation/AccessTokenUser.java
  69. +9 −3 src/main/java/com/yello/server/global/common/annotation/AccessTokenUserResolver.java
  70. +43 −0 src/main/java/com/yello/server/global/common/entity/JsonConverter.java
  71. +39 −0 src/main/java/com/yello/server/global/common/util/RestUtil.java
  72. +9 −25 src/main/java/com/yello/server/global/exception/ControllerExceptionAdvice.java
  73. +20 −0 src/main/java/com/yello/server/infrastructure/batch/ChunkProcessor.java
  74. +105 −0 src/main/java/com/yello/server/infrastructure/batch/ChunkReader.java
  75. +22 −0 src/main/java/com/yello/server/infrastructure/batch/ChunkWriter.java
  76. +26 −0 src/main/java/com/yello/server/infrastructure/batch/JobConfiguration.java
  77. +33 −0 src/main/java/com/yello/server/infrastructure/batch/StepConfiguration.java
  78. +18 −0 src/main/java/com/yello/server/infrastructure/batch/UserRowMapper.java
  79. +4 −1 src/main/java/com/yello/server/infrastructure/firebase/dto/NotificationType.java
  80. +24 −0 src/main/java/com/yello/server/infrastructure/firebase/dto/request/NotificationMessage.java
  81. +62 −21 src/main/java/com/yello/server/infrastructure/firebase/service/NotificationFcmService.java
  82. +5 −0 src/main/java/com/yello/server/infrastructure/firebase/service/NotificationService.java
  83. +46 −0 src/main/java/com/yello/server/infrastructure/scheduler/EventScheduler.java
  84. +0 −12 src/main/java/com/yello/server/infrastructure/slack/annotation/SlackApplePurchaseNotification.java
  85. +0 −12 src/main/java/com/yello/server/infrastructure/slack/annotation/SlackPurchaseNotification.java
  86. +0 −12 src/main/java/com/yello/server/infrastructure/slack/annotation/SlackSignUpNotification.java
  87. +0 −48 src/main/java/com/yello/server/infrastructure/slack/aspect/SlackApplePurchaseNotificationAspect.java
  88. +0 −47 src/main/java/com/yello/server/infrastructure/slack/aspect/SlackPurchaseNotificationAspect.java
  89. +0 −47 src/main/java/com/yello/server/infrastructure/slack/aspect/SlackSignUpNotificationAspect.java
  90. +32 −29 src/main/java/com/yello/server/infrastructure/slack/configuration/SlackConfiguration.java
  91. +23 −0 src/main/java/com/yello/server/infrastructure/slack/dto/response/SlackChannel.java
  92. +708 −180 src/main/java/com/yello/server/infrastructure/slack/factory/SlackWebhookMessageFactory.java
  93. +62 −0 src/main/java/com/yello/server/infrastructure/slack/service/SlackService.java
  94. +1 −19 src/main/resources/static/docs/index.html
  95. +4 −12 src/main/resources/static/docs/reward-admob.html
  96. +4 −0 src/test/java/com/yello/server/domain/authorization/medium/AuthControllerTest.java
  97. +0 −103 src/test/java/com/yello/server/domain/pay/medium/PayControllerTest.java
  98. +34 −3 src/test/java/com/yello/server/domain/purchase/FakePurchaseRepository.java
  99. +4 −0 src/test/java/com/yello/server/domain/purchase/medium/PurchaseControllerTest.java
  100. +41 −5 src/test/java/com/yello/server/domain/user/FakeUserRepository.java
  101. +11 −1 src/test/java/com/yello/server/domain/vote/FakeVoteRepository.java
  102. +55 −54 src/test/java/com/yello/server/domain/vote/small/VoteServiceTest.java
  103. +35 −1 src/test/java/com/yello/server/infrastructure/firebase/NotificationFcmServiceTest.java
8 changes: 4 additions & 4 deletions .github/workflows/deploy-test.yml
Original file line number Diff line number Diff line change
@@ -75,13 +75,13 @@ jobs:
run: |
aws s3 cp \
--region ap-northeast-2 \
./yello-build.zip s3://yello-test-application-bucket
./yello-build.zip s3://yello-test-bucket
- name: 📡 CodeDeploy에 배포를 요청합니다.
run: aws deploy create-deployment --application-name yello-deploy-application
run: aws deploy create-deployment --application-name yello-test-deploy
--deployment-config-name CodeDeployDefault.OneAtATime
--deployment-group-name yello-testing
--s3-location bucket=yello-test-application-bucket,bundleType=zip,key=yello-build.zip
--deployment-group-name yello-test-deploy
--s3-location bucket=yello-test-bucket,bundleType=zip,key=yello-build.zip

- name: 💡 배포 상태를 Slack을 통해 전송합니다.
uses: rtCamp/action-slack-notify@v2
8 changes: 4 additions & 4 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -76,13 +76,13 @@ jobs:
run: |
aws s3 cp \
--region ap-northeast-2 \
./yello-build.zip s3://yello-server-bucket
./yello-build.zip s3://yello-bucket
- name: 📡 CodeDeploy에 배포를 요청합니다.
run: aws deploy create-deployment --application-name yello-server-deploy
run: aws deploy create-deployment --application-name yello-deploy
--deployment-config-name CodeDeployDefault.OneAtATime
--deployment-group-name yello-app
--s3-location bucket=yello-server-bucket,bundleType=zip,key=yello-build.zip
--deployment-group-name yello-deploy
--s3-location bucket=yello-bucket,bundleType=zip,key=yello-build.zip

- name: 💡 배포 상태를 Slack을 통해 전송합니다.
uses: rtCamp/action-slack-notify@v2
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -45,6 +45,8 @@ application-local.yml
firebase*.json
*client_secret*.json

docker/rabbitmq/**

### monitoring ###
monitoring/prometheus/volume
monitoring/grafana
8 changes: 4 additions & 4 deletions appspec.yml
Original file line number Diff line number Diff line change
@@ -5,20 +5,20 @@ os: linux
## 코드 파일 전송
files:
- source: /
destination: /home/ec2-user/app
destination: /home/ubuntu/app
overwrite: yes # overwrite 허용 여부

## 권한 설정
permissions:
- object: /
pattern: "**" # 전체 파일
owner: ec2-user
group: ec2-user
owner: ubuntu
group: ubuntu

# 실행될 스크립트
hooks:
# 시작 시
ApplicationStart:
- location: deploy.sh
timeout: 60
runas: ec2-user
runas: ubuntu
11 changes: 9 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -48,9 +48,11 @@ dependencies {
// Repositories
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.amqp:spring-rabbit:3.1.1'
implementation 'org.hibernate:hibernate-core:6.4.4.Final'
implementation 'mysql:mysql-connector-java:8.0.33'

runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j:8.0.31'
runtimeOnly 'com.mysql:mysql-connector-j:8.2.0'

// Validations
implementation 'org.springframework.boot:spring-boot-starter-validation'
@@ -72,7 +74,7 @@ dependencies {
implementation 'com.google.firebase:firebase-admin:9.2.0'

// slack-webhook
implementation "net.gpedro.integrations.slack:slack-webhook:1.4.0"
implementation "com.slack.api:slack-api-client:1.38.3"

// google play android developer api
implementation 'com.google.apis:google-api-services-androidpublisher:v3-rev20211125-1.32.1'
@@ -88,6 +90,7 @@ dependencies {
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'org.mockito:mockito-inline:5.2.0'
testImplementation 'org.springframework.batch:spring-batch-test'

// jwt decode
implementation 'org.bouncycastle:bcprov-jdk15on:1.69'
@@ -109,6 +112,10 @@ dependencies {
// tink
implementation 'com.google.crypto.tink:tink-android:1.4.0-rc1'
implementation 'com.google.crypto.tink:apps-rewardedads:1.10.0'

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

}

asciidoctor {
6 changes: 0 additions & 6 deletions docker/docker-compose.blue.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
#blue
version: '3'
services:
redis:
image: redis
ports:
- "6379:6379"
backend:
build: .
ports:
- "8081:80"
container_name: yello-blue
environment:
- TZ=Asia/Seoul
depends_on:
- redis
6 changes: 0 additions & 6 deletions docker/docker-compose.green.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
#blue
version: '3'
services:
redis:
image: redis
ports:
- "6379:6379"
backend:
build: .
ports:
- "8082:80"
container_name: yello-green
environment:
- TZ=Asia/Seoul
depends_on:
- redis
1 change: 1 addition & 0 deletions lombok.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier
32 changes: 16 additions & 16 deletions scripts/deploy.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
#!/bin/bash

cd /home/ec2-user/app
cd /home/ubuntu/app
DOCKER_APP_NAME=yello

# BLUE 서버 체크
EXIST_BLUE=$(sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml ps | grep Up)
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포를 시작합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포를 시작합니다." >> /home/ubuntu/deploy.log

# Redis 컨테이너가 실행 중인지 확인
REDIS_RUNNING=$(sudo docker ps -q -f "name=redis" -f "expose=6379")

# Redis 컨테이너가 실행 중이면 일시적으로 종료
if [ -n "$REDIS_RUNNING" ]; then
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 일시적으로 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 일시적으로 종료합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml stop redis
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml stop redis
fi
@@ -22,11 +22,11 @@ if [ -z "$EXIST_BLUE" ]; then
REDIS_GREEN_RUNNING=$(sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml ps | grep redis)

if [ -n "$REDIS_GREEN_RUNNING" ]; then
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green Redis 컨테이너를 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green Redis 컨테이너를 종료합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml stop redis
fi

echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 배포를 시작합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 배포를 시작합니다." >> /home/ubuntu/deploy.log

sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml up -d --build
sleep 30
@@ -35,22 +35,22 @@ if [ -z "$EXIST_BLUE" ]; then
if [ -z "$BLUE_HEALTH" ]; then
sudo ./slack_blue.sh
else
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 서버를 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 서버를 종료합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml down
sudo docker image prune -af
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 서버를 종료했습니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 서버를 종료했습니다." >> /home/ubuntu/deploy.log
fi

# BLUE가 실행중이면 GREEN up
else
REDIS_BLUE_RUNNING=$(sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml ps | grep redis)

if [ -n "REDIS_BLUE_RUNNING" ]; then
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue Redis 컨테이너를 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue Redis 컨테이너를 종료합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml stop redis
fi

echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 배포가 시작됩니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Green 배포가 시작됩니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-green -f docker-compose.green.yml up -d --build
sleep 30

@@ -59,21 +59,21 @@ else
if [ -z "$GREEN_HEALTH" ]; then
sudo ./slack_green.sh
else
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 서버를 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 서버를 종료합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml down
sudo docker image prune -af
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 서버를 종료했습니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Blue 서버를 종료했습니다." >> /home/ubuntu/deploy.log
fi
fi

# Redis 컨테이너가 종료되었을 경우 다시 시작
if [ -n "$REDIS_RUNNING" ]; then
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 다시 시작합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 다시 시작합니다." >> /home/ubuntu/deploy.log
sudo docker-compose -p ${DOCKER_APP_NAME}-blue -f docker-compose.blue.yml start redis
sudo docker image prune -af
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 다시 시작했습니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] Redis 컨테이너를 다시 시작했습니다." >> /home/ubuntu/deploy.log
fi

echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포를 종료합니다." >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포 프로세스 완료 =====================" >> /home/ec2-user/deploy.log
echo >> /home/ec2-user/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포를 종료합니다." >> /home/ubuntu/deploy.log
echo "[$(date +%Y)-$(date +%m)-$(date +%d) $(date +%H):$(date +%M):$(date +%S)] 배포 프로세스 완료 =====================" >> /home/ubuntu/deploy.log
echo >> /home/ubuntu/deploy.log
5 changes: 0 additions & 5 deletions src/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -99,11 +99,6 @@

* link:purchase-check.html[구독 상태 및 열람권 개수 조회하기]

=== Pay API

- @Deprecated at 2024.03
* link:pay.html[결제 전환율 체크]

=== Notice API

* 🆕 link:find-notice.html[공지 조회, 2024-01-29]
10 changes: 0 additions & 10 deletions src/docs/asciidoc/pay.adoc

This file was deleted.

4 changes: 4 additions & 0 deletions src/main/java/com/yello/server/ServerApplication.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package com.yello.server;

import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
import org.springframework.batch.core.configuration.support.DefaultBatchConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;


@SpringBootApplication
@ConditionalOnMissingBean(value = DefaultBatchConfiguration.class, annotation = EnableBatchProcessing.class)
public class ServerApplication {

public static void main(String[] args) {
Original file line number Diff line number Diff line change
@@ -24,7 +24,9 @@
import com.yello.server.domain.group.entity.UserGroupType;
import com.yello.server.global.common.annotation.ServiceToken;
import com.yello.server.global.common.dto.BaseResponse;
import com.yello.server.infrastructure.slack.annotation.SlackSignUpNotification;
import com.yello.server.infrastructure.slack.dto.response.SlackChannel;
import com.yello.server.infrastructure.slack.service.SlackService;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
@@ -42,6 +44,7 @@
public class AuthController {

private final AuthService authService;
private final SlackService slackService;

@PostMapping("/oauth")
public BaseResponse<OAuthResponse> oauthLogin(@RequestBody OAuthRequest oAuthRequest) {
@@ -56,10 +59,10 @@ public BaseResponse<Boolean> getYelloIdValidation(@RequestParam("yelloId") Strin
}

@PostMapping("/signup")
@SlackSignUpNotification
public BaseResponse<SignUpResponse> postSignUp(
@Valid @RequestBody SignUpRequest signUpRequest) {
@Valid @RequestBody SignUpRequest signUpRequest, HttpServletRequest servletRequest) throws Exception {
val data = authService.signUp(signUpRequest);
slackService.sendSignUpMessage(SlackChannel.SIGN_UP, servletRequest);
return BaseResponse.success(SIGN_UP_SUCCESS, data);
}

Original file line number Diff line number Diff line change
@@ -50,8 +50,7 @@ protected void doFilterInternal(
|| requestPath.startsWith("/v2/google/notifications")
|| requestPath.startsWith("/api/v1/admob/verify")
|| requestPath.startsWith("/api/v1/statistics")
|| (requestPath.startsWith("/api/v1/auth")
&& !requestPath.startsWith("/api/v1/auth/token/issue"))) {
|| (requestPath.startsWith("/api/v1/auth") && !requestPath.startsWith("/api/v1/auth/token/issue"))) {
filterChain.doFilter(request, response);
return;
}
@@ -68,6 +67,22 @@ protected void doFilterInternal(
throw new CustomAuthenticationException(AUTHENTICATION_ERROR);
}

val token = accessHeader.substring(BEARER.length());
Long userId = tokenProvider.getUserId(token);
request.setAttribute("userId", userId);
} else if (requestPath.equals("/api/v1/user/post/comment")) {
val accessHeader = request.getHeader(AUTHORIZATION);
log.info("Authorization : {}", accessHeader);

if (accessHeader == null) {
filterChain.doFilter(request, response);
return;
}

if (!accessHeader.startsWith(BEARER)) {
throw new CustomAuthenticationException(AUTHENTICATION_ERROR);
}

val token = accessHeader.substring(BEARER.length());
Long userId = tokenProvider.getUserId(token);
request.setAttribute("userId", userId);
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.yello.server.domain.authorization.filter;

import static org.springframework.http.HttpHeaders.AUTHORIZATION;

import com.yello.server.domain.user.entity.User;
import com.yello.server.domain.user.repository.UserRepository;
import jakarta.servlet.FilterChain;
@@ -48,6 +50,11 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
return;
}

if (requestPath.equals("/api/v1/user/post/comment") && request.getHeader(AUTHORIZATION) == null) {
filterChain.doFilter(request, response);
return;
}

final Long userId = (Long) request.getAttribute("userId");
log.info("Current user's id: {}", userId);

Loading