Skip to content

Commit

Permalink
v0.0.1 (#87)
Browse files Browse the repository at this point in the history
* chore: 프로젝트 세팅 (#2)

* chore: issue, pr 템플릿 작성

* chore: CODEOWNERS 작성

* chore: editorconfig 작성

* chore: chore 이슈 템플릿 about 내용 수정

* chore: develop PR on check workflow 작성 (#7)

* chore: develop PR on check workflow 작성

* fix: jdk zulu로 변경

* chore: slack webhook Test

* chore: slack webhook Test

* chore: slack webhook Test

* chore: cache-read-only false 옵션

* chore: Spring Actuator 구성 (#8)

* chore: domain 구조 아키텍처 구성 (#12)

* chore: domain 구조 아키텍처 구성

* chore: global.config 추가

* chore: SwaggerConfig 작성 (#14)

* chore: SwaggerConfig 작성

* fix: Api path versioning 제거 및 SwaggerConfig 수정

* fix: 상수 컨벤션 수정

* [WALWAL-104] Spotless 구성 (#19)

* chore: pre-commit, spotless 구성

* chore: pre-commit 실행 모드 추가

* fix: spotlessApply

* chore: googleJavaFormat aosp

* chore: googleJavaFormat aosp

* fix: spotlessApply

* fix: spotlessApply version test

* fix: spotlessApply

* [WALWAL-84] jacoco 세팅 추가 (#16)

* chore: jacoco 세팅 추가

* chore: config, resources, QDomains 커버리지 제외 및 reports 커스텀 경로 세팅

* feat: BaseTimeEntity 추가 (#22)

* [WALWAL-88] 회원 엔티티 구성 (#26)

* [WALWAL-108] Querydsl 환경 구성 (#25)

* chore: querydsl config 추가

* chore: openfeign Querydsl 의존성 변경

* fix: spotlessApply

* fix: spotlessApply

* fix: spotlessApply

* [WALWAL-114] record -> class 변경 (#30)

* fix: record -> class 변경

* fix: profileImageUrl getter 삭제

* feat: Schema Swagger 프로퍼티

* [WALWAL-109] GlobalResponse를 위한 RestControllerAdvice 세팅 (#23)

* chore: GlobalResponse를 위한 RestControllerAdvice 세팅

* fix: Response 형식 변경 및 ResponseEntityExceptionHandler 상속

* fix: status상태에 따른 sucess, fail 응답처리

* fix: ApiResponse record형식으로 수정

* chore: develop 브랜치 머지 및 spotless적용

* fix: 인텔리제이 자동import제거설정변경

* fix: 생성자 대신 RequiredArgsConstructor 어노테이션 통일

* [WALWAL-115] 미션 엔티티 구현 (#32)

feature: 미션 엔티티 구현

* [WALWAL-106] fixtureMonkey 도입 (#28)

* chore: fixtureMonkey 도입

* fix: order items 갯수 제한 수정

* chore: redis 환경 구성 (#37)

* [WALWAL-113] SecurityConfig 및 유틸리티 구현 (#35)

* chore: security 구성

* fix: CookieCsrfTokenRepository 활성화

* chore: csrf 옵션 임시 삭제

* fix: SwaggerUrlConstants 수정

* [WALWAL-116] 미션 기록 엔티티 구현 (#34)

* feature: 미션 기록 엔티티 구현

* fix: Record -> MissionRecord로 클래스명 수정

* fix: mission_title 대신 proxy객체를 통해서 title가져오기

* [WALWAL-110] elastic beanstalk dev 서버 workflow 작성 (#38)

* chore: dev workflow test

* chore: dev workflow test

* chore: dev workflow test

* chore: dev workflow test

* chore: dev workflow test

* chore: dev workflow 1차 작성

* fix: current time 삭제

* fix: job name 수정

* fix: docker compose 및 env 파일 패키징 항목 삭제

* hotfix: Elastic BeanStalk 배포 version Label (#41)

* [WALWAL-132] application yml 분리 (#42)

* chore: mysql 구성 및 yml 분리

* chore: s3 property 추가

* [WALWAL-135] missionrecord crud 구현 (#46)

* feature: 미션 기록 생성 구현

* fix: record response에Title추가

* fix: pathvariable 제거

* feature: 미션 기록 삭제 구현

* fix: ApiResponse적용

* fix: @tag어노테이션 추가 및 컨트롤러반환값 수정

* refactor: 단일 미션 조회 메서드 분리

* [WALWAL-138]: mission crud 구현 (#45)

* feature: mission crud 구현

* fix: review resolve

* fix: id 네이밍 수정 및 서비스 응답 클래스 변경

* [WALWAL-142] EB docker-compose 구성 (#50)

* chore: docker-compose 테스트

* chore: docker-compose aws json 테스트

* chore: EB deploy envs 삭제

* chore: docker-compose aws json 배포 테스트

* chore: docker-compose aws json 배포 테스트 및 테스트 케이스 수정

* fix: version lavel 수정

* fix: docker compose로 배포 테스트

* fix: docker compose로 배포 테스트

* chore: docker-compose aws json 배포 테스트

* chore: docker-compose aws json v3 배포 테스트

* chore: docker-compose aws json v3 배포 테스트

* fix: docker compose로 배포 테스트

* fix: docker compose로 배포 테스트

* fix: docker compose로 배포 테스트

* fix: docker compose로 배포 테스트

* fix: docker compose로 배포 테스트

* chore: 슬랙 봇 테스트 및 compose port 설정

* chore: docker compose ports 테스트

* chore: docker compose ports 테스트

* chore: nginx test

* chore: nginx test

* chore: nginx test

* chore: Dockerrun.aws.json 테스트

* chore: Dockerrun.aws.json 테스트

* chore: docker compose 테스트

* fix: nginx volumes endpoint

* fix: nginx conf workflow 삭제 테스트

* fix: bucket 업로드 삭제 테스트

* fix: version-label 현재 시각 versioning

* fix: bucket 업로드 원복

* fix: nginx conf workflow 원복 테스트

* fix: push branch develop으로 변경

* fix: Dockerrun json 삭제

* [WALWAL-81] 애플 로그인 구현 (#47)

* feat: RefreshToken 및 DTO 정의

* feat: apple server 통신

* feat: Apple 로그인 및 회원가입

* fix: 내 정보 조회 API 수정

* refactor: 로그인 로직 분리

* feat: 로직 개선

* chore: securityConfig auth 엔드포인트 추가

* fix: conflict 해결

* refactor: Apple 로그인 리팩토링

* refactor: Apple 로그인 리팩토링 및 마케팅 동의 여부 컬럼 추가

* feat: swagger default 유저 및 security JWT Filter 적용

* fix: csrf 이슈

* fix: csrf 이슈

* refactor: Service 로직 코드 분리

* fix: User fixtureMonkey PersonName 수정

* fix: Swagger 수정

* refactor: 미사용 DTO 및 네이밍 수정

* refactor: 네이밍 수정 및 println 삭제

* fix: yml include 추가

* chore: env sample 프로퍼티 추가

* fix: Apple Error Code 정의

* fix: 회원가입 로직 수정 및 토큰 로직 수정

* fix: socialLogin 메서드 orElseGet 수정

* refactor: RefreshToken 생성 로직 중복

* fix: 미사용 메서드 삭제

* fix: Apple PrivateKey 만료 시간 5분 설정

* refactor: apple Private Key 싱글톤 패턴

* refactor: apple Private Key 싱글톤 패턴으로 미사용 메서드 삭제

* refactor: 변수 상수화

* [WALWAL-148] Dev, Prod 환경 분리 (#56)

* feat: Environment 환경 분리

* test: dev profile swagger permitAll

* fix: fixtureMokey 수정

* refactor: dev 환경 배포 테스트

* refactor: dev 환경 배포 테스트

* fix: fixtureMokey 수정

* test: dev profile swagger permitAll

* refactor: dev 환경 배포 테스트

* fix: push branch develop으로 변경

* fix: profile 예외 메세지

* [WALWAL-145] missionrecord calendarview (#52)

* [WALWAL-122] 이미지 업로드 기능 (#58)

* feat: Image 도메인 및 DTO 정의

* feat: aws 의존성 추가 및 Image Controller, Service 추가

* fix: image 로직 임시 커밋

* [WALWAL-148] Dev, Prod 환경 분리 (#56)

* feat: Environment 환경 분리

* test: dev profile swagger permitAll

* fix: fixtureMokey 수정

* refactor: dev 환경 배포 테스트

* refactor: dev 환경 배포 테스트

* fix: fixtureMokey 수정

* test: dev profile swagger permitAll

* refactor: dev 환경 배포 테스트

* fix: push branch develop으로 변경

* fix: profile 예외 메세지

* chore: s3 Config 추가

* feat: Member 이미지 업로드 기능

* fix: 이미지 업로드 로직 수정

* refactor: @dbscks97 피드백 반영

* refactor: @kwanok 피드백 반영

* fix: MissionCreateRequest test 코드

* [WALWAL-152] register Request Body 불필요한 필드 삭제 (#62)

* fix: register Request Body

* fix: 마케팅 수신 동의여부 삭제

* [WALWAL-147] 오늘의 미션 API 추가 (#53)

* feat: 오늘의 미션 엔드포인트 추가

* fix: 시큐어 랜덤으로 보안패치

* fix: 리뷰 반영, 테스트 이름 수정, jpa 쿼리 수정

* fix: 변수명 수정 missionIds

* fix: QueryDSL로 변경

* fix: QueryDSL 리뷰 반영

* fix: Error Code 수정

* [WALWAL-153] 미션 n번째 카운트 기능 추가 (#64)

* feat: 수행한 총 미션 기록 수

* fix: 엔드포인트 수정

* fix: 메서드 명

* [WALWAL-150] missionrecord imageupload 기능 구현 (#66)

* feature: 미션참여 API구현

* feature: 미션 탭 상태 조회 API 구현

* feature: 완료된 미션이미지제공 API 구현

* feature: 미션 기록 업로드 및 저장, 테스트 코드 작성

* fix: PR 수정사항 반영

* fix: 안쓰는 Response 및 스키마 수정

* refactor: 미션 탭 조회 시 이미지데이터 포함

* fix: 이미지URL 저장로직 수정

* fix: application.yml 수정

* fix: Test프로파일 설정

* refactor: 미션기록 Response에 recordId추가 및 이미지url수정

* [WALWAL-151] 데일리미션 일러스트, 컬러값 추가 (#71)

* feature: 데일리미션 일러스트, 컬러값 추가

* fix: MissionControllertest코드 수정

* [WALWAL-155] 카카오 로그인/회원가입 구현 (#68)

* feat: 카카오 로그인/회원가입

* fix: println 삭제

* fix: 임시 토큰 여부 판별 (#74)

* [WALWAL-163] 배포 환경 메모리 제한 (#77)

* [WALWAL-163] 배포 환경 메모리 제한

* fix: memory

* [WALWAL-160] 미션 시작 시 동시성 문제 개선 (#75)

* [WALWAL-157] 회원탈퇴 API (#82)

* feat: 회원탈퇴 API

* feat: 회원탈퇴 API redis deleteById

* chore: 주석

* chore: 주석 처리 수정

* [WALWAL-154] PROD 운영 서버 워크플로 작성 (#85)

* chore: PROD 배포 테스트

* fix: 변수 추가

* fix: minor tags 테스트

* fix: minor tags 테스트

* fix: minor tags 테스트

* fix: workflow version

---------

Co-authored-by: Park Yun Chan <dbscks9793@gmail.com>
Co-authored-by: kwanok noh <61671343+kwanok@users.noreply.github.com>
  • Loading branch information
3 people authored Aug 3, 2024
1 parent 847f9bb commit 1b002aa
Show file tree
Hide file tree
Showing 146 changed files with 5,253 additions and 13 deletions.
29 changes: 29 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# top-most EditorConfig file
root = true

[*]
# [encoding-utf8]
charset = utf-8

# [newline-lf]
end_of_line = lf

# [newline-eof]
insert_final_newline = true

[*.bat]
end_of_line = crlf

[*.java]
# [indentation-tab]
indent_style = tab

# [4-spaces-tab]
indent_size = 4
tab_width = 4

# [no-trailing-spaces]
trim_trailing_whitespace = true

[line-length-120]
max_line_length = 120
35 changes: 35 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
### DB 설정 정보 ###
MYSQL_HOST={MYSQL 호스트}
MYSQL_PORT={MYSQL 포트, 기본값은 3306}
DB_NAME={DB이름}
MYSQL_PASSWORD={MYSQL 비밀번호}
MYSQL_USERNAME={MYSQL 유저이름}

### REDIS ###
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

### AWS ###
AWS_ACCESS_KEY={AWS ACCESS KEY}
AWS_SECRET_KEY={AWS SECRET KEY}
S3_IMAGE_BUCKET={AWS S3 IMAGE 버킷}
AWS_REGION={AWS REGION}
S3_ENDPOINT={AWS S3 ENDPOINT}

### JWT ###
JWT_ACCESS_TOKEN_SECRET={JWT ACCESS TOKEN SECRET_KEY}
JWT_REFRESH_TOKEN_SECRET={JWT REFRESH TOKEN SECRET_KEY}

# 1일
JWT_ACCESS_TOKEN_EXPIRATION_TIME=86400
# 30일
JWT_REFRESH_TOKEN_EXPIRATION_TIME=2592000

### APPLE ###
APPLE_DEV_CLIENT_ID={APPLE 개발 CLIENT ID}
APPLE_DEV_TEAM_ID={APPLE 개발 TEAM ID}
APPLE_PROD_CLIENT_ID={APPLE 운영 CLIENT ID}
APPLE_PROD_TEAM_ID={APPLE 운영 TEAM ID}
APPLE_KEY_ID={APPLE KEY ID}
APPLE_P8={APPLE P8}
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @char-yb @dbscks97 @kwanok
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/♻️-refactor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "♻️ refactor"
about: 리팩토링 이슈 템플릿
title: "♻️ "
labels: "♻️ refactor"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/⚙️-chore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "⚙️ chore"
about: CI/CD 및 환경 구성 이슈 템플릿
title: "⚙️ "
labels: "⚙️ chore"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/✅-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "✅ test"
about: 테스트 이슈 템플릿
title: ""
labels: "✅ test"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/✨-feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "✨ feature"
about: 기능 추가 이슈 템플릿
title: ""
labels: "✨ feature"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/🐛-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "🐛 fix"
about: 버그 및 에러 이슈 템플릿
title: "🐛 "
labels: "🐛 bug/error"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/📝-documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: "📝 documentation"
about: 문서화 이슈 템플릿
title: "📝 "
labels: "📝 documentation"
assignees: ''

---

## 🔗 작업 링크
- [작업 내용](링크)

## 📌 Description
-
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 🌱 관련 이슈
- close #

## 📌 작업 내용
-

## 🙏 리뷰 요구사항
-

## 📚 레퍼런스
-
90 changes: 90 additions & 0 deletions .github/workflows/develop-build-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Develop Build & Deploy

on:
push:
branches: [ "develop" ]

env:
DOCKERHUB_IMAGE_NAME: walwal-server

jobs:
build-deploy:
runs-on: ubuntu-latest
environment: DEV
strategy:
matrix:
java-version: [ 17 ]
distribution: [ 'zulu' ]
steps:
- name: Checkout code
uses: actions/checkout@v3

# JDK를 17 버전으로 세팅
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.distribution }}

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

- name: Build with Gradle
id: gradle
uses: gradle/gradle-build-action@v3
with:
arguments: |
build
--scan
cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' }}

# Docker 이미지 빌드 및 도커 허브 푸시
- name: Docker build & push
run: |
docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }}
docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_IMAGE_NAME }} .
docker push ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_IMAGE_NAME }}
- name: Current Time
uses: gerred/current-time@v1.0.0
id: current-time

- name: Replace string
uses: frabert/replace-string-action@v2.1
id: format-time
with:
pattern: '[:\.]+'
string: "${{ steps.current-time.outputs.time }}"
replace-with: '-'
flags: 'g'

- name: Prepare deployment package
run: |
zip -r deployment-package.zip docker-compose.yaml nginx/default.conf
- name: Beanstalk Deploy
uses: einaregilsson/beanstalk-deploy@v22
with:
aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
existing_bucket_name: "walwal-server-dev-deployment"
application_name: "walwal-dev"
environment_name: "Walwal-dev-env"
version_label: "walwal-dev-${{ steps.format-time.outputs.replaced }}"
region: ap-northeast-2
deployment_package: deployment-package.zip
wait_for_environment_recovery: 180

# Slack 알림
- name: Send Deploy Result to Slack
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_USERNAME: 왈왈봇
SLACK_COLOR: ${{ job.status == 'success' && 'good' || 'danger' }}
SLACK_TITLE: "Deploy Summary - Develop"
SLACK_MESSAGE: |
- image tag: `${{ steps.metadata.outputs.tags }}`
- build scan report: ${{ steps.gradle.outputs.build-scan-url }}
- deploy status: ${{ job.status }}
- deploy time: ${{ steps.current-time.outputs.time }}
56 changes: 56 additions & 0 deletions .github/workflows/develop-pull-request-on-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Pull Request on Check
on:
pull_request:
branches:
- develop
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 17 ]
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Java
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: 'zulu'

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

- name: Setup Gradle
uses: gradle/gradle-build-action@v3
with:
arguments: check
cache-read-only: false

## slack 알람
- name: Slack Alarm
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: GitHub-Actions CI/CD
fields: repo,message,commit,author,ref,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: always() # Pick up events even if the job fails or is canceled.

style-test:
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v3.0.2
- name: JDK install
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: '17'
cache: 'gradle'

- name: Checkstyle
run: |
./gradlew spotlessCheck
Loading

0 comments on commit 1b002aa

Please sign in to comment.