Skip to content

Commit

Permalink
v1.0.0 정식 배포 (#244)
Browse files Browse the repository at this point in the history
* chore: sonarcloud 및 jacoco 세팅

* chore: checkstyle 세팅

* chore: gitignore 수정

* docs: PR 템플릿 수정

* feat: 공통된 클래스 추가 작업 (#4)

* feat: Exception 관련 클래스 추가

* feat: Config 관련 클래스 추가

* feat: Entity 관련 클래스 추가

* fix: intellij-formatter line-separator (#10)

* feat: 회원 Authorization Grant와 페이지 반환 기능 구현 (#18)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: 방 생성, 수정 기능 구현 (#20)

* feat: Room, Participant, Routine, Certification 엔티티 생성

* feat: Room 엔티티 인증 시간 검증 로직 추가

* test: Room 엔티티 테스트 코드 작성

* refactor: Room 관련 엔티티 수정

* feat: 방 생성 기능 구현

* chore: DynamicQuery Jacoco 예외 추가

* test: 방 생성 테스트 코드 작성

* feat: 방 수정 기능 구현

* test: 방 수정 통합 테스트 작성

* refactor: Member 관련 파일 이동

* refactor: checkStyle에 맞춰서 변경

* test: 추가 테스트 코드 작성

* refactor: 코드 리뷰 반영

* refactor: 불필요한 메서드 삭제

* feat: 벌레 조회 기능 구현 (#21)

* feat: Bug 임베디드 타입 생성

* feat: 벌레 조회 API 구현

* docs: PR merge 시, Issue 자동 close로 수정

* refactor: 엔티티 생성자 id 포함으로 변경

* feat: 벌레 개수 검증 추가

* test: 벌레 조회 서비스 테스트

* style: dto 내 bug 패키지 제거

* test: Bug 도메인 테스트

* style: 테스트 메서드 네이밍 수정

* test: 벌레 조회 controller 테스트

* refactor: private 생성자 추가

* test: 멤버 fixture 생성 및 적용

* test: 벌레 fixture 생성 및 적용

* test: 멤버 엔티티 테스트에 Bug 추가

* fix: code smell 제거

* style: BugMapper 메서드 네이밍 수정

* style: return 전 줄바꿈 추가

* refactor: ResponseStatus + DTO 방식으로 변경

* test: 벌레 개수 검증 테스트에 ParameterizedTest 적용

* feat: 상품 목록 조회 기능 구현 (#22)

* fix: SQL syntax 오류 수정

* feat: 상품 엔티티 생성

* feat: 상품 목록 조회 API 구현

* test: 상품 목록 조회 테스트

* style: return 전 줄바꿈 추가

* feat: Authorization Server로 부터 토큰 발급 기능 추가 (#24)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 콕 찌르기 알림 서비스 기능 구현 (#26)

* feat: Redis 초기 설정

* feat: FCM 초기 설정 및 예외처리

* feat: 콕 찌르기 기능 서비스 및 레포지토리 구현

* fix: Redis Reposi 추상 클래스 제거 및 테스트 Profile 변경

* test: StringRedisRepository 테스트

* test: NotificationRepository 테스트

* feat: NullPointerException 예외 핸들링 처리

* test: NotificationService 테스트

* refacotr: PostConstruct를 Bean으로 변경

* refactor : 테스트 코드 Profile 변경

* fix: redis 테스트 삭제

* fix : Redis 테스트 클래스 삭제

* fix : Member Role Default 문제 해결

* fix: firebase config 경로 변경

* fix: 에러 찾기 위한 로그 설정

* fix: CI가 서브모듈 경로를 못찾는 에러 해결

* test: Redis Repository 테스트 및 로그 삭제

* style: 메서드명 및 줄바꿈 설정

* refactor: 콕 찌르기 알림 저장 시, 키값 및 만료시간 변경

* refactor: 리뷰 코드 수정

* feat: 방 참여, 나가기 기능 구현 (#28)

* feat: Room, Participant, Routine, Certification 엔티티 생성

* feat: Room 엔티티 인증 시간 검증 로직 추가

* test: Room 엔티티 테스트 코드 작성

* refactor: Room 관련 엔티티 수정

* feat: 방 생성 기능 구현

* chore: DynamicQuery Jacoco 예외 추가

* test: 방 생성 테스트 코드 작성

* feat: 방 수정 기능 구현

* test: 방 수정 통합 테스트 작성

* refactor: Member 관련 파일 이동

* refactor: checkStyle에 맞춰서 변경

* test: 추가 테스트 코드 작성

* chore: Apache Commons Lang 의존성 추가

* feat: 방 참여 기능 구현

* test: 방 참여 기능 테스트 작성

* feat: 방 나가기 기능 구현

* chore: test yml JPA 로그 추가

* test: 방 참여, 나가기 일부 테스트 작성

* feat: 방 나가기 구현 마무리

* fix: Morning -> Night 수정

* test: 방 나가기 추가 테스트 코드 작성

* test: 방 나가기 추가 테스트 작성

* feat: 방 ID로 존재 확인 로직 추가

* refactor: 오타 수정

* fix: 테스트 실행 불가 해결

* fix: CI 오류 해결

* refactor: 코드 리뷰 반영

* feat: 방 수정에 필요한 필드 추가 (#36)

* feat: ec2 dev 서버 배포 구현 (#40)

* chore: submodule 업데이트

* feat: docker-compose 파일 세팅

* feat: nginx 템플릿 설정

* feat: Dockerfile 설정

* feat: 쉘 스크립트 파일 작성

* feat: HealthCheckController 구현

* chore: build.gradle 커버리지 항목 제외 추가

* feat: github actions ci, cd 작성

* style: ci 파일 오타 수정

* hotfix: submodule mysql 수정

* feat: social 회원 토큰 조회 기능 추가 (#37)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 토큰 정보 조회 기능 및 테스트 추가

* feat: 사용자 토큰 정보 조회 및 테스트 코드 & Resttemplate 테크트 코드 변경

* fix: encoding, formatting, tab 문제로 인한 파일 삭제 후 다시 작성

* fix: 코드 리뷰 반영

* feat: 아이템 목록 조회 기능 구현 (#41)

* refactor: ResponseStatus + DTO 방식으로 변경

* feat: 아이템, 인벤토리 Entity 생성

* feat: 아이템 목록 조회 API 구현

* test: containsExactly 검증으로 수정

* test: 아이템 목록 조회 Service 테스트

* test: 인벤토리 아이템 목록 조회 Repository 테스트

* feat: Stream 유틸 클래스 생성 및 적용

* fix: ItemFixture를 통한 아이템 생성 시 build() 추가

* test: 구매하지 않은 아이템 목록 조회 Repository 테스트

* feat: MethodArgumentTypeMismatchException handler 추가

* test: 아이템 목록 조회 Controller 테스트

* fix: Mapper 생성자 접근 레벨 private으로 변경

* feat: ItemType 생성 및 적용

* refactor: 잘못된 요청 타입 에러 메시지 상수화

* feat: 콕 찌르기 API 구현 (feat. RestDoc, Embedded Redis) (#43)

* feat: RestDoc 기본 설정

* feat: Embedded Redis 환경 구축

* style: 에러 메시지 변경 및 추가

* feat: 콕 찌르기 API 구현

* refactor: 콕 찌르기 키 생성 메서드 분리

* chore: redis docker 주석 처리

* chore: dump.rdb 삭제

* chore: develop-cd Redis 주석처리

* style: 주석 삭제

* style: Constant 분리

* refacotr: String.format을 활용해 Knock Key 생성

* feat: 방 상세 정보 조회 기능 구현 (#44)

* refactor: Mapper 클래스 선언 통일

* refactor: service, mapper 수정

* fix: Room nullable로 수정

* chore: highlight sql 설정 추가

* feat: 방과 각 방에서 사용자의 인증 여부 저장을 위한 Entity 추가

* feat: 방 상세 정보 조회에 필요한 DTO, Mapper 추가

* feat: 방장 정보 부르는 querydsl

* feat: 인증에 대한 정보 Mapper, querydsl 추가

* feat: Participant, Routine 수정, Search querydsl 작성

* feat: 방 상세 정보 조회 service, controller

* test: 방 상세 정보 조회 통합 테스트 작성

* refactor: 코드 리뷰 반영

* refactor: checkstyle 수정

* feat: 아이템 적용 기능 구현 (#45)

* feat: 아이템 적용 API 구현

* test: 아이템 적용 Service 테스트

* test: Controller 테스트 @WebMvcTest로 변경

* test: 아이템 적용 Controller 테스트

* style: support 패키지 생성

* test: RepositoryTest 어노테이션 생성 및 적용

* test: 동일 메서드 테스트 Nested로 처리

* feat: 현재 적용된 인벤토리 조회 시 아이템 타입 정보 추가

* test: 인벤토리 조회 Repository 테스트

* fix: merge conflict 해결

* test: given-willReturn 으로 변경

* refactor: 메서드 네이밍 수정

* refactor: 어노테이션 네이밍 수정

* refactor: 방 관련 기능 리팩터링 (#49)

* refactor: 방 상세 정보 조회 부분 리팩터링

* refactor: Mapper 위치 변경

* refactor: 방 관련 기능 수정

* refactor: createRoom roomId 반환하도록 refactor

* feat: 회원 생성 및 로그인 응답 기능 구현 (#47)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 토큰 정보 조회 기능 및 테스트 추가

* feat: 사용자 토큰 정보 조회 및 테스트 코드 & Resttemplate 테크트 코드 변경

* fix: encoding, formatting, tab 문제로 인한 파일 삭제 후 다시 작성

* feat: JWT 토큰 제공 서비스 및 테스트 코드 추가

* feat: 토큰 인증 코드 및 테스트 코드 작성

* feat: 로그인 및 회원가입 기능 추가

- 회원의 socialId string -> long으로 변경

* feat: 회원 로그인 테스트 코드 추가

* chore: 코드 포메팅 재 설정

* feat: config 파일 업데이트

* feat: Window용 포트 redis 포트 변경 추가

* refacotr: develop 업데이트 사항 merge

* refactor: develop 업데이트 부분 merge

* fix: TimeConfig 삭제 및 코드 스멜 변경

* refactor: 코르리뷰 반영

* feat: 인증 타임에 따른 알림 기능 구현 (#50)

* feat: 인증 타임에 따른 주기적 알림 기능 도입

* test: 인증타임에 따른 주기적 알림 기능 테스트

* test: Restdoc 파일

* refactor: 코드 리뷰 반영

* refactor: 코드 리뷰 반영

* fix: checkstyle 수정

* refactor: 코드 리뷰 반영

* refactor: 리뷰 반영

* chore: config update (#51)

* feat: 콕 찌르기 여부를 확인하는 기능 구현 및 테스트 (#53)

* feat: 콕 찌르기 여부를 확인하는 기능 구현

* test: 콕 찌르기 여부를 확인하는 기능 테스트

* test: 콕 찌르기 여부를 확인하는 기능 테스트

* feat: 아이템 구매 기능 구현 (#54)

* feat: 벌레 내역 관련 Entity 생성

* feat: 아이템 구매 API 구현

* refactor: Bug -> Wallet 네이밍 수정

* refactor: Bug로 네이밍 재수정

* refactor: Entity 생성 로직 Mapper로 이동

* fix: isDefault nullable 하도록 수정

* fix: 레벨 1부터 시작하도록 수정

* test: 아이템 구매 Service 테스트

* test: 아이템 Entity 테스트

* test: 벌레 Entity 테스트

* test: 아이템 구매 Controller 테스트

* style: decrease로 메서드 네이밍 수정

* feat: 해당 벌레 타입의 개수 증가 메서드 추가

* chore: Table 어노테이션 추가

* test: 벌레 개수 증가 테스트

* feat: 쿠폰 발행 기능 구현 및 테스트 (#57)

* feat: 쿠폰 엔티티 설계

* test: Coupon Entity 테스트

* refactor: 초기값 0에서 1로 지정

* feat: 쿠폰 종류에 대한 조회 처리 구현 및 테스트

* refactor: 쿠폰 컬럼으로 관리자 아이디 추가

* feat: 관리자의 쿠폰 생성 기능 구현

* test: 쿠폰 발행 기능 테스트

* test: 쿠폰 엔티티 테스트 추가

* style: test 메서드 변경

* fix: CheckStyle 수정

* feat: 쿠폰 삭제 기능 구현 (#58)

* feat: 쿠폰 삭제 기능 구현

* test: 쿠폰 삭제 기능 테스트

* test: 테스트 Display 및 Adoc 수정

* test: RestDoc 문서 결과

* feat: 특정 쿠폰 및 상태에 따른 쿠폰 조회 기능 구현 및 테스트 (#60)

* feat: 쿠폰 삭제 기능 구현

* test: 쿠폰 삭제 기능 테스트

* test: 테스트 Display 및 Adoc 수정

* test: RestDoc 문서 결과

* refactor: type -> couponType으로 변경

* feat: 쿠폰 상태에 따른 조회 및 특정 쿠폰 조회 기능 구현

* fix: 쿼리 에러 해결 및 CouponResponse 위치 변경

* fix: 상태에 따른 잘못된 쿼리 수정

* test: 특정 쿠폰 및 상태에 따른 쿠폰 조회 기능 테스트

* test: 리뷰 반영

* feat: 회원 annotation 기능 추가 및 테스트 인터페이스 제공 (#62)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 토큰 정보 조회 기능 및 테스트 추가

* feat: 사용자 토큰 정보 조회 및 테스트 코드 & Resttemplate 테크트 코드 변경

* fix: encoding, formatting, tab 문제로 인한 파일 삭제 후 다시 작성

* feat: JWT 토큰 제공 서비스 및 테스트 코드 추가

* feat: 토큰 인증 코드 및 테스트 코드 작성

* feat: 로그인 및 회원가입 기능 추가

- 회원의 socialId string -> long으로 변경

* feat: 회원 로그인 테스트 코드 추가

* chore: 코드 포메팅 재 설정

* feat: config 파일 업데이트

* feat: Window용 포트 redis 포트 변경 추가

* refacotr: develop 업데이트 사항 merge

* refactor: develop 업데이트 부분 merge

* fix: TimeConfig 삭제 및 코드 스멜 변경

* refactor: 코르리뷰 반영

* chore: submodule update

* feat: 메서드 파싱 customizing 및 @CurrentMember AuthorizationMember 를 파라미터로 감지하는 조건 추가

* feat: 인가회원에 대한 객체 ThreadLocalMap에 저장하는 기능 추가

* fix: 회원 정보 Optional 정보 조회 버그 fix, socialId requiredNotNull추가 등 에러 수정

* feat: API요청 Path 및 인증에 따른 filter 추가

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember 테스트 support 추가

* test: authorizationfilter 및 pathfilter 테스트 추가

* test: 회원 repostiory 및 fixture 추가

* test: filter support 클랠스 추가

* test: filter support 클래스 적용

* refactor: PublicClaim 변환 책임 변경

* test: PathResolver, CurrentMemberArgumentResovler테스트 코드 추가

* fix: 모든 쿠키 secure 적용되도록 변경

* refactor: 클래스 명 변경

* refactor: webConfig Path 매핑 클래스 추가

* �feat: 루틴 인증 및 이미지 업로드 기능 구현 (#63)

* feat: 서버 시간 체크 컨트롤러 구현

* feat: 루틴 인증 기능 및 ClockHolder 구현

* feat: UrlSubstringParser 구현

* test: 루틴 인증 관련 테스트 구현

* refactor: 방 공지 길이 수정

* feat: constant 및 error 작성

* feat: s3 이미지 업로드 기능 구현

* test: s3 이미지 업로드 테스트

* chore: build.gradle s3 추가

* Merge branch 'develop' into feature/#8-upload-image

* refactor: build 오류 수정

* test: CertificationsSearchRepository 테스트

* chore: s3Manager 커버리지 제외

* refactor: UrlParser 코드스멜 제거

* refactor: 코드 리뷰 반영

---------

Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>

* feat: healthCheck path 추가 (#66)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 토큰 정보 조회 기능 및 테스트 추가

* feat: 사용자 토큰 정보 조회 및 테스트 코드 & Resttemplate 테크트 코드 변경

* fix: encoding, formatting, tab 문제로 인한 파일 삭제 후 다시 작성

* feat: JWT 토큰 제공 서비스 및 테스트 코드 추가

* feat: 토큰 인증 코드 및 테스트 코드 작성

* feat: 로그인 및 회원가입 기능 추가

- 회원의 socialId string -> long으로 변경

* feat: 회원 로그인 테스트 코드 추가

* chore: 코드 포메팅 재 설정

* feat: config 파일 업데이트

* feat: Window용 포트 redis 포트 변경 추가

* refacotr: develop 업데이트 사항 merge

* refactor: develop 업데이트 부분 merge

* fix: TimeConfig 삭제 및 코드 스멜 변경

* refactor: 코르리뷰 반영

* chore: submodule update

* feat: 메서드 파싱 customizing 및 @CurrentMember AuthorizationMember 를 파라미터로 감지하는 조건 추가

* feat: 인가회원에 대한 객체 ThreadLocalMap에 저장하는 기능 추가

* fix: 회원 정보 Optional 정보 조회 버그 fix, socialId requiredNotNull추가 등 에러 수정

* feat: API요청 Path 및 인증에 따른 filter 추가

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember 테스트 support 추가

* test: authorizationfilter 및 pathfilter 테스트 추가

* test: 회원 repostiory 및 fixture 추가

* test: filter support 클랠스 추가

* test: filter support 클래스 적용

* refactor: PublicClaim 변환 책임 변경

* test: PathResolver, CurrentMemberArgumentResovler테스트 코드 추가

* fix: 모든 쿠키 secure 적용되도록 변경

* refactor: 클래스 명 변경

* refactor: webConfig Path 매핑 클래스 추가

* feat: healthcheck path 추가

* Revert "feat: healthCheck path 추가 (#66)" (#71)

This reverts commit baf4703.

* fix: config 최신화 (#72)

* feat: 회원 엔티티 생성 및 테스트코드 추가

* feat: 카카오 OAuth 환경변수 추가 및 클래스 바인딩

* feat: authorization code를 받기 위한 queryString generator 추가

* feat: Authorization code의 parameter 만드는 로직 분리 및 테스트 코드 추가

* feat: 회원 가입/로그인 요청 api 및 소셜 로그인 페이지 반환

* refactor: member관련 클래스 네이밍과 폴더 위치 변경

* refactor: 로그인 페이지 요청 방식 Resttemplate -> response (redirect)하도록 변경

* style: 코드 포맷 재적용 및 사용하지 않는 클래스 삭제

* chore: config 파일 업데이트

* refactor: 테스트 코드 추가 및 코드 포맷 재적용

* refactor: 사용하지 않는 코드 제거

* refactor: CRLF -> LF로 변경

* fix: config 커밋, config 최근 커밋으로 변경

* feat: 테스트 코드 추가 및 패키지 구조 변경

* refactor: revert merge

* fix: merge confilt해결 및 예외처리 추가

* test: oauth properties가 없을 때의 테스트코드 추가

* feat: 코드리뷰에 따른 기능 분리 및 테스트 코드 변경

* fix: 테스트코드 관련 code smell 제거

* feat: Authorization grant 받기 예외 코드 및 테스트 코드 추가

* feat: Authorization Token 요청 및 반환 코드, 에러 반환 테스트 코드 추가

* refactor: AuthenticationService에서 서버에 요청보내는 로직 OAuth2AuthorizationServerRequestService로 분리

* test: 로그인 요청 테스트 코드 추가

* feat: 토큰 발급 요청 기능 테스트 코드 추가 및 RestTemplate 필드변수로 변경

* test: restTemplate 및 서비스 테스트 추가

* refactor: 에러 메세지 이름 변경

* refacotr: 변수명 및 entity default 명 변경

* feat: 토큰 정보 조회 기능 및 테스트 추가

* feat: 사용자 토큰 정보 조회 및 테스트 코드 & Resttemplate 테크트 코드 변경

* fix: encoding, formatting, tab 문제로 인한 파일 삭제 후 다시 작성

* feat: JWT 토큰 제공 서비스 및 테스트 코드 추가

* feat: 토큰 인증 코드 및 테스트 코드 작성

* feat: 로그인 및 회원가입 기능 추가

- 회원의 socialId string -> long으로 변경

* feat: 회원 로그인 테스트 코드 추가

* chore: 코드 포메팅 재 설정

* feat: config 파일 업데이트

* feat: Window용 포트 redis 포트 변경 추가

* refacotr: develop 업데이트 사항 merge

* refactor: develop 업데이트 부분 merge

* fix: TimeConfig 삭제 및 코드 스멜 변경

* refactor: 코르리뷰 반영

* chore: submodule update

* feat: 메서드 파싱 customizing 및 @CurrentMember AuthorizationMember 를 파라미터로 감지하는 조건 추가

* feat: 인가회원에 대한 객체 ThreadLocalMap에 저장하는 기능 추가

* fix: 회원 정보 Optional 정보 조회 버그 fix, socialId requiredNotNull추가 등 에러 수정

* feat: API요청 Path 및 인증에 따른 filter 추가

- PathFilter: PathResolver, WebConfig
-  AuthorizationFilter:AuthorizationService, JwtAuthenticationService, JwtProviderService, MemberService
- Member info: CurrentMember, AuthorizationMember, LoginResponse, MemberMapper, CurrentMember, PublicClaim, CurrentMemberArgumentResolver

* test: CurrentMember 테스트 support 추가

* test: authorizationfilter 및 pathfilter 테스트 추가

* test: 회원 repostiory 및 fixture 추가

* test: filter support 클랠스 추가

* test: filter support 클래스 적용

* refactor: PublicClaim 변환 책임 변경

* test: PathResolver, CurrentMemberArgumentResovler테스트 코드 추가

* fix: 모든 쿠키 secure 적용되도록 변경

* refactor: 클래스 명 변경

* refactor: webConfig Path 매핑 클래스 추가

* feat: healthcheck path 추가

* fix: config 변경

* refactor: merge 변경

* refactor: 패키지 분리 (#73)

* refactor: 방 관련 서비스 분리 (#79)

* chore: gitignore 추가

* refactor: Room 관련 Service 분리

* �feat: 방장 위임 기능 구현 (#81)

* feat: 방장 위임 기능 구현

* test: 방장 위임 기능 테스트 작성

* test: 방장이 아닌 유저의 요청인 경우 추가

* feat: 오늘 보상 벌레 조회 기능 구현 (#80)

* feat: 오늘 얻은 벌레 조회 API 구현

* refactor: 쿼리 1번으로 수정

* feat: @CurrentMember 적용

* test: 벌레 조회 Controller 통합 테스트

* chore: 주석 제거

* test: 오늘 보상 벌레 조회 Controller 테스트

* test: memberService mock 처리

* chore: enum 비교 equals로 변경

* refactor: 쿠폰 및 알림 Authorization Member 적용 �리팩터링 (#82)

* refactor: Coupon에 Authorization Member 적용

* test: Authorization Member 적용된 코드 테스트

* fix: 인프라 ci/cd 버그 해결 (#84)

* feat: nginx conf 수정 및 분리

* feat: 쉘 스크립트 파일 추가

* feat: docker-compose nginx volume 수정

* feat: ci, cd 파일 수정

* feat: dev 서버 프론트

* chore: config 업데이트

* chore: code smell 제거

* hotfix: env 파일 생성 코드 수정

* hotfix: env 파일 생성 코드 수정

* hotfix: 파일 cd 코드 수정

* hotfix: 파일 cd 코드 수정

* feat: 방 추방 기능 구현 (#86)

* feat: 방장 위임 기능 구현

* test: 방장 위임 기능 테스트 작성

* test: 방장이 아닌 유저의 요청인 경우 추가

* feat: participant deletedAt null일때 찾도록 추가

* feat: 방 추방 기능 구현

* test: 방 추방 통합 테스트 구현

* refactor: nginx conf 수정

* refactor: nginx conf 추가 수정

* refactor: nginx conf

* chore: config 업데이트

* refactor: 아이템/상품 컨트롤러 테스트 리팩토링 및 @CurrentMember 적용  (#87)

* refactor: 아이템 컨트롤러에 @CurrentMember 적용

* refactor: 아이템 컨트롤러 통합 테스트로 변경

* refactor: 상품 컨트롤러 통합 테스트로 변경

* test: 성공 테스트 추가

* hotfix: kakao path 제외 추가

* refactor: 방 컨트롤러 @CurrentMember 적용, 통합 테스트 리팩토링 (#89)

* feat: 방장 위임 기능 구현

* test: 방장 위임 기능 테스트 작성

* test: 방장이 아닌 유저의 요청인 경우 추가

* feat: participant deletedAt null일때 찾도록 추가

* feat: 방 추방 기능 구현

* test: 방 추방 통합 테스트 구현

* refactor: nginx conf 수정

* refactor: nginx conf 추가 수정

* refactor: BugSearchRepository 위치 변경

* refactor: RoomController @CurrentMember 적용

* refactor: 메서드명 변경

* refactor: 테스트 코드 리팩토링

* refactor: 테스트 패키지 구조 변경

* style: 쿠폰 및 알림 테스트 패키지 분리 (#90)

* feat: 토큰 redis 저장 (#91)

* feat: 토큰 redis 저장을 위한 dto 및 config 추가

* feat: webConfig 파일 추가

* feat: redis 토큰 저장 서비스 및 테스트 코드 추가

* feat: 에러시 모든 토큰 제거 추가

* refactor: config update

* feat: config 추가

* refactor: code smell 제거

* feat: 로그아웃 기능 추가 (#94)

* feat: 토큰 redis 저장을 위한 dto 및 config 추가

* feat: webConfig 파일 추가

* feat: redis 토큰 저장 서비스 및 테스트 코드 추가

* feat: 에러시 모든 토큰 제거 추가

* refactor: config update

* feat: config 추가

* refactor: code smell 제거

* feat: logout 기능 추가

* refactor: null 예외 처리 변경

* refactor: config 수정

* refactor: merge confilt 수정

* refacotr: code smell 로직 변경

* fix: config 수정 (#98)

* feat: 참여중인 방 목록 조회 (#95)

* feat: 참여중인 방 목록 조회 기능 구현

* feat: 관련 Repository 구현

* test: 참여중인 방 목록 조회 테스트 작성

* hotfix: redis config 파일 수정

* refactor: 벌레 컨트롤러 및 테스트 패키지 구조 변경 (#97)

* refactor: 벌레 상품 조회 API URL 변경

* style: 테스트 패키지 구조 변경

* feat: 아이템 목록 조회 Response에 현재 적용된 아이템 속성 추가 (#100)

* feat: 아이템 목록 조회 시 defaultItemId 속성 추가

* test: default 아이템 속성 추가 반영

* style: TodayBugResponse 패키지 위치 변경

* feat: 방 참여 기록 조회 기능 구현 (#101)

* feat: 참여중인 방 목록 조회 기능 구현

* feat: 관련 Repository 구현

* test: 참여중인 방 목록 조회 테스트 작성

* refactor: 방 나가기 flush() 수정

* feat: 방 참여 기록 조회 컨트롤러 dto 구현

* feat: 방 참여 기록 조회 기능 구현

* test: 방 참여 기록 조회 서비스 테스트

* test: 방 참여 기록 조회 통합 테스트

* chore: 사용하지 않는 코드 제거

---------

Co-authored-by: ymkim97 <[email protected]>

* feat: profile 환경에 따른 cookie 설정 분리 및 config 업데이트 (#102)

* feat: profile 환경에 따른 cookie 설정 분리 및 config 업데이트

* test: profile에 따른 쿠키 생성 테스트

* hotfix: config update

* refactor: 쿠폰, 알림 및 토큰 패키지 및 클래스명 변경 (#105)

* refactor: 쿠폰 및 토큰 패키지 및 클래스명 변경

* refactor: 알림 패키지 및 클래스명 변경, Fcm 로직 분리

* feat: 벌레 상품 구매 기능 구현 (#107)

* feat: 결제 엔티티 생성

* feat: 벌레 상품 구매 API 구현

* test: 벌레 상품 구매 통합 테스트

* test: 벌레 상품 구매 서비스 테스트

* test: 결제 쿠폰 적용 테스트

* test: 주문 생성 및 금액 할인 테스트

* test: 벌레 사용 및 증가 로직 검증 방식 수정

* chore: config 업데이트

* fix: 상품 구매 Response에 주문 id 제거

* feat: 상품 구매 Response에 결제 id 추가

* fix: Transactional 적용

* feat: 방 전체 목록 조회 기능 구현 (#109)

* feat: 방 전체 목록 조회 컨트롤러 추가

* refactor: 방장 member 반환 기능 삭제

* feat: 방 검색 dto 추가

* feat: 방 전체 조회 기능 구현

* fix: 서비스, 컨트롤러 수정

* test: 서비스 단위 테스트 작성

* test: 통합 테스트 작성

* fix: 피연산자 Long으로 수정

* feat: 결제 요청 기능 구현 (#113)

* style: 메서드 네이밍 수정

* feat: 결제 요청 전 대기 상태 추가

* feat: 결제 요청 API 구현

* fix: Valid 어노테이션 추가

* test: 결제 요청 통합 테스트

* test: 결제 요청 서비스 테스트

* test: 결제/주문 유닛 테스트

* feat: 쿠폰 발급 요청 기능 구현 (#114)

* refactor: 쿠폰 및 토큰 패키지 및 클래스명 변경

* refactor: 알림 패키지 및 클래스명 변경, Fcm 로직 분리

* feat: 쿠폰 발급 요청 기능 구현

* test: 쿠폰 발급 요청 기능 테스트

* test: Syntax 에러로 쿠폰 발급 관련 테스트 임시 Disabled 처리

* fix: Redis Yaml 추가 설정

* test: 중복 저장에 대한 테스트 코드 추가

* refactor: SystemClockHolder -> ClockHolder 변경

* feat: 방 상세 정보 조회 기능 추가 변경 (#117)

* feat: 방 전체 목록 조회 컨트롤러 추가

* refactor: 방장 member 반환 기능 삭제

* feat: 방 검색 dto 추가

* feat: 방 전체 조회 기능 구현

* fix: 서비스, 컨트롤러 수정

* test: 서비스 단위 테스트 작성

* test: 통합 테스트 작성

* fix: 피연산자 Long으로 수정

* feat: 방 상세 목록 조회 날짜별 조회로 기능 추가

- 방이 인증된 날짜들은 조회하는 유저의 날짜에서 일주일 전까지 가져옴

* refactor: 사용자의 찌르기 확인 기능 수정

* feat: 사용자별 콕찌르기 여부 확인 추가

* feat: Response에 요청자의 memberId 추가

* feat: 카카오 로그인 API(/members/login/kakao/oauth) Get -> Post 변경 (#118)

* feat: profile 환경에 따른 cookie 설정 분리 및 config 업데이트

* test: profile에 따른 쿠키 생성 테스트

* feat: Get에서 Post로 변경

* refactor: CookieUtils 변경

* feat: config 변경

* fix: merge confilt 해결

* feat: Cookie secure 추가

* �feat: 방 검색 기능 구현 (#121)

* feat: 검색 Native Query 작성

* feat: 방 검색 서비스 기능 구현

* test: 방 검색 서비스 테스트

* feat: 방 검색 컨트롤러 구현

* test: 방 컨트롤러 통합 테스트 구현

* refactor: 파라미터 타입 통일화

* refactor: controller 타입 수정

* style: 쿠폰 및 노션 메서드, 변수, 클래스명 변경 (#122)

* �feat: 방 수정 전 정보 불러오기 기능 구현 (#128)

* fix: 사용자의 인증 후 인증 수 증가 추가

* feat: 컨트롤러 추가

* feat: 서비스, Dto, Mapper 작성

* test: 통합 테스트 작성

* refactor: 사용하지 않는 API 제거 및 코드 스타일 수정 (#129)

* refactor: 결제 금액 컬럼 Payment로 이동

* chore: 사용하지 않는 API 제거

* feat : 회원 삭제 기능 추가 (#131)

* feat: 토큰 redis 저장을 위한 dto 및 config 추가

* feat: webConfig 파일 추가

* feat: redis 토큰 저장 서비스 및 테스트 코드 추가

* feat: 에러시 모든 토큰 제거 추가

* refactor: config update

* feat: config 추가

* refactor: code smell 제거

* feat: logout 기능 추가

* refactor: 사용자 nickname 생성 및 랜덤 삭제 ID부여 제공

* refacotr: @transaction제거, redis를 사용하기 때문에 트랜잭션 전파 불필요

* feat: 삭제 요청 추가

* refactor: member mapper 메서드 위치 변경 AuthMapper -> MemberMapper

* refacotr: 패키지 위치 변경 및 socialId long->String

* feat: 회원탈퇴 요청 기능 추가

* fix: restTemplate 요청 반환 값 변경

* feat: 회원 탈퇴 요청에 대한 api 추가

* test: 회원 삭제 테스트 추가

* test: 회원 탈퇴 테스트 코드 및 Auth테스트와 member테스트 분리

* feat: 회원 탈퇴 서비스 기능 구현 및 restTemplate요청 테스트 추가

* feat: 사용하지 않는 메서드 및 회원 조회 쿼리 생성

* test: 테스트 코드 수정 및 test config 변경

* feat: WebConfig path 수정

* feat: 삭제할 회원 조건 변경

* refacotr: 테스트 로그인 get 메서드 uri변경 및 AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager 메서드 명 findMemberNotManager 변경

* �feat: Fcm Token 저장 기능 구현 (#132)

* feat: FCM Token 저장 기능 구현

* feat: FCM Token 저장 기능 테스트

* refactor: Knock, Fcm 분리 및 메서드명 변경

* style: Coupon 메서드명 변경

* refactor: Fcm Token null, blank 처리

* docs: 쿠폰 저장에 대한 RestDoc 추가

* refactor: AuthMember 적용 및 테스트 코드 수정

* fix: submodule config 변경

* feat: CouponWallet 엔티티 & 레포지토리 구현 (#134)

* refactor : 쿠폰 발행 기간 하루로 변경 및 쿠폰 정보 오픈 날짜 컬럼 추가 (#136)

* style : Schedule 어노테이션 위치 변경

* refactor: 쿠폰 발행 기간 하루로 통일 및 쿠폰 정보 오픈 날짜 추가

* refactor: Sub module Update

* refactor: 회원 탈퇴 로직 변경 (#139)

* feat: 토큰 redis 저장을 위한 dto 및 config 추가

* feat: webConfig 파일 추가

* feat: redis 토큰 저장 서비스 및 테스트 코드 추가

* feat: 에러시 모든 토큰 제거 추가

* refactor: config update

* feat: config 추가

* refactor: code smell 제거

* feat: logout 기능 추가

* refactor: 사용자 nickname 생성 및 랜덤 삭제 ID부여 제공

* refacotr: @transaction제거, redis를 사용하기 때문에 트랜잭션 전파 불필요

* feat: 삭제 요청 추가

* refactor: member mapper 메서드 위치 변경 AuthMapper -> MemberMapper

* refacotr: 패키지 위치 변경 및 socialId long->String

* feat: 회원탈퇴 요청 기능 추가

* fix: restTemplate 요청 반환 값 변경

* feat: 회원 탈퇴 요청에 대한 api 추가

* test: 회원 삭제 테스트 추가

* test: 회원 탈퇴 테스트 코드 및 Auth테스트와 member테스트 분리

* feat: 회원 탈퇴 서비스 기능 구현 및 restTemplate요청 테스트 추가

* feat: 사용하지 않는 메서드 및 회원 조회 쿼리 생성

* test: 테스트 코드 수정 및 test config 변경

* feat: WebConfig path 수정

* feat: 삭제할 회원 조건 변경

* refacotr: 테스트 로그인 get 메서드 uri변경 및 AuthorizationMember -> AuthMember / CurrentMember -> Auth

* refactor: merge develop

* fix: findMemberWithNotManager 메서드 명 findMemberNotManager 변경

* refactor: 회원 탈퇴 로직 변경

* feat: 벌레 상품 구매 시 CouponWallet 적용 (#141)

* feat: 벌레 상품 구매 시 couponWallet 검증 로직 적용

* fix: couponWalletId를 받도록 수정

* test: couponWallet 적용 테스트

* chore: 불필요한 fixture 제거

* fix: 보유한 쿠폰 조회 시 fetch join 적용

* test: 쿠폰 지갑 레포지토리 테스트

* chore: 사용하지 않는 메서드 제거

* feature: 회원 정보 조회 기능 추가 (#142)

* feat: 새 스킨 조회 기능 및 테스트 코드 추가

* chore: jpa관련 config 설정

- 버전 호환오류로 인한 기본 Template설정

* feat: 기본 새 스킨 조회 query 추가

* feat: 회원과 벌레에 대한 조회 쿼리 및 테스트 코드 추가

* feat: 회원 정보 조회 기능 및 테스트 코드 추가

* refactor: 회원과 Item 서비스의 의존성 순환을 피하기 위해 inventorySearchService 생성

* refactor: 회원과 Item 서비스의 의존성 순환을 피하기 위해 inventorySearchService 생성

* feat: 회원 정보 조회 API 추가

* style: 메서드 접근 제어자에 따른 순서 변경

* refactor: inventorySearchService 제거 후 memberService에서 repository 추가

* refactor: transform에서 stream으로 동작 변경

* style: 리뷰 반영

* refactor: nginx 설정 파일 리포맷팅

* hotfix: CorsFilter 추가

* refactor: 방/루틴 전체 리팩토링 (#143)

* feat: ClockHolder LocalDate 추가

* refactor: RoomService 리팩토링

* refactor: SearchService 리팩토링

* refactor: 방 입장, 퇴장 리팩토링

* refactor: CertifiactionService 리팩토링

* refactor: RoomController 리팩토링

* test: InventorySearchRepository 테스트 추가

* refactor: merge 메서드 네이밍

* refactor: ParticipantMapper 코드리뷰 반영

* feat: 쿠폰 발급 요청 및 대기열 사용자 쿠폰 발급 처리 구현 (#146)

* style : Schedule 어노테이션 위치 변경

* refactor: 쿠폰 발행 기간 하루로 통일 및 쿠폰 정보 오픈 날짜 추가

* feat: 쿠폰 발행 가능 날짜 중복 체크 기능 추가

* refactor: Builder 삭제

* test: 쿠폰 관련 테스트 수정

* feat: 쿠폰 발행 관련 레포지토리 기능 구현 및 테스트

* test: 쿠폰 발행 관련 문자열 레디스 기능 구현 및 테스트

* feat: 쿠폰 발행 관련 ZSET 레디스 기능 구현 및 테스트

* test: 쿠폰 발행 컨트롤러 기능 테스트

* test: RestDoc 업데이트

* test: Github Actions 시, Redis ZSET 명령어 못찾는 테스트 Disable

* refactor: 쿠폰, 알림 테스트 접근 제어자, 메서드명, 클래스명 변경 (#148)

* style : Schedule 어노테이션 위치 변경

* refactor: 쿠폰 발행 기간 하루로 통일 및 쿠폰 정보 오픈 날짜 추가

* feat: 쿠폰 발행 가능 날짜 중복 체크 기능 추가

* refactor: Builder 삭제

* test: 쿠폰 관련 테스트 수정

* feat: 쿠폰 발행 관련 레포지토리 기능 구현 및 테스트

* test: 쿠폰 발행 관련 문자열 레디스 기능 구현 및 테스트

* feat: 쿠폰 발행 관련 ZSET 레디스 기능 구현 및 테스트

* test: 쿠폰 발행 컨트롤러 기능 테스트

* test: RestDoc 업데이트

* test: Github Actions 시, Redis ZSET 명령어 못찾는 테스트 Disable

* refactor: 알림 및 쿠폰 테스트 코드 메서드명 변경 및 알림 콕 알림 키 변경

* refactor: LocalDate 코드 리뷰 반영

* feat: 쿠폰 보관함 조회 기능 구현 (#149)

* style : Schedule 어노테이션 위치 변경

* refactor: 쿠폰 발행 기간 하루로 통일 및 쿠폰 정보 오픈 날짜 추가

* feat: 쿠폰 발행 가능 날짜 중복 체크 기능 추가

* refactor: Builder 삭제

* test: 쿠폰 관련 테스트 수정

* feat: 쿠폰 발행 관련 레포지토리 기능 구현 및 테스트

* test: 쿠폰 발행 관련 문자열 레디스 기능 구현 및 테스트

* feat: 쿠폰 발행 관련 ZSET 레디스 기능 구현 및 테스트

* test: 쿠폰 발행 컨트롤러 기능 테스트

* test: RestDoc 업데이트

* test: Github Actions 시, Redis ZSET 명령어 못찾는 테스트 Disable

* refactor: 알림 및 쿠폰 테스트 코드 메서드명 변경 및 알림 콕 알림 키 변경

* feat: 쿠폰함 조회 서비스 기능 구현 및 테스트

* feat: 쿠폰 보관함 저장소 조회 기능 구현 및 테스트

* feat: 쿠폰 보관함 조회 기능 구현 및 테스트

* fix: temporal 에러 해결

* refactor: Stream 코드 리뷰 반영

* feat: 회원 정보 수정 API 추가 (#151)

* fix: cors api 요청 위치 변경

* feat: 회원 수정 기능 추가

* feat: 회원 정보 수정 API 및 테스트 코드 추가

* feat: 회원 정보 수정 APi 추가 및 테스트 코드 추가

* refactor: 리뷰 코드 반영

- 일시적 사용하지 않는 코드 제거
- 회원 null값에 대한 예외 Objects로 변경
- ErrorMessage 변경
- 테스트 코드 CsvSource null값 적용

* refactor: null체크 메서드 변경 및 에러 메시지 어순 변경

* feat: 결제 승인 기능 구현 (#154)

* feat: order_id 컬럼 인덱스 설정

* chore: webflux 의존성 추가

* feat: 토스 결제 위젯 승인 API 연동

* feat: 결제 승인 API 구현

* feat: 결제 테이블에 couponWalletId 컬럼 추가

* test: 결제 승인 통합 테스트

* feat: 벌레 상품 구매 시 couponWallet 검증 로직 적용

* fix: couponWalletId를 받도록 수정

* test: couponWallet 적용 테스트

* chore: 불필요한 fixture 제거

* feat: 결제 승인 시 쿠폰 차감 및 벌레 충전 로직 추가

* fix: 쿠폰이 적용된 경우 분기 처리

* chore: config 업데이트

* test: 결제 승인 컨트롤러 통합 테스트

* test: 결제 승인 서비스 테스트

* chore: MockWebServer 의존성 추가

* test: 토스 결제 승인 API 테스트

* fix: checkStyle 오류 수정

* chore: config 업데이트

* refactor: 결제 테이블 coupon_id 컬럼을 discount_amount로 변경

* refactor: 공통 메서드 분리

* feat: 벌레 충전 시 벌레 내역 저장 로직 추가

* style: 중복 메서드 제거

* feat: 벌레 내역 조회 기능 구현 (#155)

* feat: 벌레 내역 조회 API 구현

* refactor: 결제 테이블 coupon_id 컬럼을 discount_amount로 변경

* test: 벌레 내역 조회 컨트롤러 통합 테스트

* fix: 테스트 오류 수정

* chore: 사용하지 않는 메서드 제거

* refactor: Response 분리

* style: 줄바꿈 제거

* feat: 방 인증, 입장 동시성 처리 (#157)

* feat: ClockHolder LocalDate 추가

* refactor: RoomService 리팩토링

* refactor: SearchService 리팩토링

* refactor: 방 입장, 퇴장 리팩토링

* refactor: CertifiactionService 리팩토링

* refactor: RoomController 리팩토링

* test: InventorySearchRepository 테스트 추가

* chore: 테스트 코드 In-memory H2에서 MySQL로 변경

* feat: CertifyRoom Transaction 분리, 비관적 락 적용

* feat: 방 입장 낙관적 락 적용

* refactor: MySQL 변경으로 일부 테스트 수정

* test: 방 인증, 입장 동시성 테스트 작성

* test: 방장 위임 테스트 작성

* fix: 방 입장 낙관적 락 -> 비관적 락으로 변경

* refactor: Room version 삭제

* fix: 코드 수정

* feat: Image Type 추가

---------

Co-authored-by: Dev Uni <[email protected]>

* hotfix: develop-cd docker 추가

* feat: 방/회원/인증 신고 기능 추가 (#158)

* test: 삭제된 회원 조회 테스트 추가

* refactor: 회원 조회 변경

* feat: 신고 기능 추가 및 테스트 코드 추가

* refactor: 신고 기능 로직 수정 및 테스트 코드 추가

* feat: 신고 api 기능 추가 및 테스트 코드 추가

* fix: 통합 테스트간 데이터 중복 및 index 문제 해결

* refactor: CsvSource null 부분 변경

* hotfix: config 업데이트

* feat: 쿠폰 사용 기능 구현 (#160)

* Merge branch 'develop' into feature/#75-use-coupon

* feat: 쿠폰 지갑에서 특정 회원의 특정 쿠폰 조회 기능 구현 및 테스트

* feat: 쿠폰 지갑에 있는 쿠폰 사용하는 서비스 기능 구현 및 테스트

* feat: 쿠폰 사용 API 기능 구현 및 테스트

* fix: 테스트 코드 에러 수정

* test: RestDoc 업데이트

* refactor : 결제 쿠폰 사용 통합

* Submodule update

* test: 테스트 커버리지 추가

* feat: 미참여자의 방 정보 조회 기능 (#161)

* feat: ClockHolder LocalDate 추가

* refactor: RoomService 리팩토링

* refactor: SearchService 리팩토링

* refactor: 방 입장, 퇴장 리팩토링

* refactor: CertifiactionService 리팩토링

* refactor: RoomController 리팩토링

* test: InventorySearchRepository 테스트 추가

* chore: 테스트 코드 In-memory H2에서 MySQL로 변경

* feat: CertifyRoom Transaction 분리, 비관적 락 적용

* feat: 방 입장 낙관적 락 적용

* refactor: MySQL 변경으로 일부 테스트 수정

* test: 방 인증, 입장 동시성 테스트 작성

* test: 방장 위임 테스트 작성

* fix: 방 입장 낙관적 락 -> 비관적 락으로 변경

* feat: 방 참여 여부 확인, 참여 중이지 않은 방 정보 부르기 컨트롤러

* feat: 방 참여 여부 확인 서비스 추가

* feat: 참여중이지 않은 방 정보 조회 서비스

* test: 통합 테스트 코드 작성

* test: 테스트 코드 보완

* fix: memberId 가져오기로 변경

* refactor: redirection -> boolean으로 변경

* fix: Search 쿼리 수정

---------

Co-authored-by: Dev Uni <[email protected]>

* fix: noskin image 변경 (#162)

* fix: 회원 로그인 시 기본 부엉이, 오목눈이 생성 기능 추가 및 테스트 코드 변경

* fix: 테스트 코드 변경

* refacotr: config 수정

* feat: 벌레 보상/충전/사용 시 내역 저장 로직 추가 (#165)

* refactor: 벌레 사용 + 벌레 내역 저장 로직 하나의 메서드로 분리

* refactor: 벌레 보상 + 벌레 내역 저장 로직 하나의 메서드로 분리

* test: 아이템 서비스 테스트 수정

* test: BugService Mock 추가

* test: 벌레 사용/충전/보상 서비스 테스트

* refactor: 쿠폰 사용 + 벌레 내역 저장 로직 하나의 메서드로 분리

* fix: 불필요한 Mock 제거

* feat: 아이템 이미지 버전 추가 및 방 배경 업데이트 (#167)

* refactor: 아이템 테이블에 awakeImage, sleepImage 컬럼 추가

* feat: 방 레벨업 시 이미지 업데이트 로직 추가

* chore: 코드 제거

* test: 테스트 검증 수정

* chore: 이미지 URL에 작은 따옴표 제거

* fix: no skin image 버그 해결 (#168)

* fix: 회원 로그인 시 기본 부엉이, 오목눈이 생성 기능 추가 및 테스트 코드 변경

* fix: 테스트 코드 변경

* refacotr: config 수정

* test: @BeforeAll Transaction적용 실패로 인한 merge 테스트 추가

* feat: 서비스 추가

* test: 기본 URL 변경 및 테스트 코드 수정

* style: 중복 코드 제거

* hotfix: schema, item 등록

* hotfix: config 수정

* hotfix: sql 업데이트

* hotfix: item inventory 쿼리 수정

* hotfix: config admin key 업데이트

* hotfix: config sql init none

* hotfix: config sql init never

* refactor: 실시간 선착순 쿠폰 발급 기능 리팩터링 (#169)

* refactor: ZSET popMin -> range로 변경

* refactor: 쿠폰 관리 저장소 popMin -> range로 변경

* feat: 쿠폰 발급 결과 FCM 알림 전송 기능 구현 및 테스트

* feat: ZSET size 반환 기능 구현 및 테스트

* feat: 쿠폰 대기열 사이즈를 반환하는 기능 구현 및 테스트

* test: 테스트 코드 체크 스타일 수정

* fix: Import 에러 해결

* refactor: 쿠폰 발급 현재 위치 기록 변경

* refactor: 쿠폰 대기열 크기 조회 기능 삭제

* refactor: addIfAbsent 기능 수정

* test: 레디스 SORTED SET 명령어 테스트 Disabled

* refactor: 쿠폰 발급 및 발행 기능 수정

* test: 쿠폰 랭킹 조회 기능 테스트 추가

* fix: Base64관련 디코딩 코드 변경 -> Base64Url (#173)

* fix: Base64관련 디코딩 코드 변경 -> Base64Url

* refactor: 쿠폰 스케쥴 업데이트 및 config 수정

* style: 문자열 checkstyle 수정

* hotfix: sql init 방식 변경

* hotfix: docker-compose mysql

* hotfix: docker-compose mysql

* fix: 방장 자신에 대한 추방 버그 (#177)

* fix: 방장 자신 추방 못하도록 validate 추가

* feature: 방 수정 전 정보 불러오기에 방장 ID 추가

* test: 테스트 코드 작성

* fix: 방 참여 기록 조회 최신순으로 변경

* Fix/#175 fix member delete error (#178)

* fix: Base64관련 디코딩 코드 변경 -> Base64Url

* refactor: 쿠폰 스케쥴 업데이트 및 config 수정

* style: 문자열 checkstyle 수정

* fix: 회원 탈퇴시 방 참여에 대한 문제 해결

* refactor: config update

* test: 신고 실패에 대한 테스트 코드 변경

* refactor: 쿠폰, 알림 코드 개선 (#180)

* refactor: coupon 발행 및 삭제 스타일 변경

* refactor: My Coupon 조회 코드 개선

* refactor: 쿠폰 등록, 사용 코드 개선

* refactor: FCM 및 알림 코드 개선

* fix: 아이템 선택 시 멤버 기본 스킨 이미지 업데이트 (#182)

* style: FCM Token Log 생성 (#183)

* refactor: coupon 발행 및 삭제 스타일 변경

* refactor: My Coupon 조회 코드 개선

* refactor: 쿠폰 등록, 사용 코드 개선

* refactor: FCM 및 알림 코드 개선

* style: fcm token log

* fix: 방장 방 나가기 코드 수정 (#184)

* hotfix: 인증 방식 변경

* hotfix: 방장 방 삭제 버그

* fix: fcm 토큰 삭제 기능 추가 (#185)

* fix: Base64관련 디코딩 코드 변경 -> Base64Url

* refactor: 쿠폰 스케쥴 업데이트 및 config 수정

* style: 문자열 checkstyle 수정

* fix: 회원 탈퇴시 방 참여에 대한 문제 해결

* refactor: config update

* test: 신고 실패에 대한 테스트 코드 변경

* feat: fcm 토큰 제거 기능 추가

* style: 필요없는 로그 제거

* fix: 참여자 업데이트

* fix: 토스 결제 승인 실패 시 예외 처리 (#188)

* fix: 토스 결제 승인 실패 시 예외 throw

* test: 결제 승인 로직 변경에 따른 테스트 수정

* fix: 토스 승인 API 요청 시 Basic 인증 헤더로 변경

* fix: ModelAttribute로 방식 변경 (#193)

* fix: 토스 결제 승인 성공/실패 시 결과 반영 안되는 이슈 해결 (#194)

* fix: 결제 정보 검증 및 토스 결제 승인 API 로직 트랜잭션 분리

* test: 로직 변경에 따른 테스트 수정

* feat: ranking system 구현 (#189)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

---------

Co-authored-by: Kim Heebin <[email protected]>

* fix: record를 class로 바꿔서 바인딩 해결 (#195)

* fix: ModelAttribute로 방식 변경

* fix: record를 class로 바꾸고 바인딩 해결

* fix: approvedAt 제거 (#197)

* fix: 벌레 0마리인 경우 내역 저장되지 않도록 수정 (#199)

* chore: 결제 실패 처리 로직에 Transactional 적용

* refactor: 방 상세 정보에 방 생성 날짜시간 추가 (#201)

* fix: ObjectMapper 수정 (#202)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

---------

Co-authored-by: Kim Heebin <[email protected]>

* �refactor: 알림 메시지 형식 변경 (#203)

* refactor: 푸시 알림 메시지 Body 변경

* refactor: FCM 알림 형식 변경

* fix: ObjectMapper 삭제 실패 수정 (#204)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

* fix: objectMapper 삭제 추가

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: 알림 메시지 내용 변경 및 item-data 쿼리 추가

* refactor: infra 디렉토리 생성 및 리팩터링 (#206)

* refactor: infra 디렉토리 생성 및 리팩터링

* fix: 초기 아이템 데이터 이미지 링크 수정

* refactor: infra 디렉토리 생성 및 리팩터링 (#207)

* refactor: infra 디렉토리 생성 및 리팩터링

* fix: 초기 아이템 데이터 이미지 링크 수정

* fix: DockerFile 경로 수정

* refactor: infra 디렉토리 생성 및 리팩터링 (#208)

* refactor: infra 디렉토리 생성 및 리팩터링

* fix: 초기 아이템 데이터 이미지 링크 수정

* fix: DockerFile 경로 수정

* fix: 쉘 스크립트 경로 수정

* feat: nginx 로깅 추가

* feat: actuator 외부 차단

* hotfix: Dockerfile copy 수정

* hotfix: deploy-cd Dockerfile 경로 수정

* hotfix: deploy-cd 쉘 스크립트 수정

* hotfix: nginx 로깅 docker-compose 연결

* hotfix: String to Long Error 수정

* fix: MaxUploadSizeExceededException 예외 던지기 (#212)

* fix: 0시 인증 방에서 인증이 안되는 버그 수정 (#213)

* fix: 0시 인증타임 예외처리 수정

* test: 테스트 수정

* hotfix: 쿠폰 발급이 안되는 버그 수정

* hotfix: nginx client 파일 크기 제한 수정

* hotfix: 쿠폰큐 비어있을 시, 발생하는 버그 수정

* hotfix: 쿠폰 발급 횟수 버그 수정

* hotfix: 스웨거 도입

* hotfix: 스웨거 버그 수정

* feat: 예외 발생 시 슬랙 연동 구현 (#215)

* chore: 기본 상점 상품 쿼리 수정

* chore: slack api client 의존성 추가

* feat: 예외 발생 시 슬랙 연동 구현

* chore: slack webhook url config 추가

* fix: build 오류 해결

* fix: 방 수정에서 루틴 수정 제외 (#217)

* feat: admin login (#216)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

* fix: objectMapper 삭제 추가

* feat: 어드민 서비스 로그인 기능 추가

* refactor: 어드민 config 업데이트

* fix: test application.yml 수정

* test: stub에서의 타입 오류 해결

* style: 변수면 변경

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: mysql 테이블 init 업데이트

* hotfix: config 업데이트

* hotfix: 00시 인증 타임 수정

* refactor: 방 인증 기획 관련 수정 (#219)

* refactor: 방 인증 시간 정각부터 10분까지로 수정

* refactor: 참여자 중 한명 이상이 인증 했을 시 방 시간 수정 못하게 변경

* test: 테스트 코드 작성

* �fix: 인증된 참여자의 방 나가기 후 방 정보 불러오기 안되는 버그 해결 (#221)

* fix: 인증하고 나간 참여자 정보 불러오기

* fix: 인증된 방이 삭제되지 않는 버그 수정

* hotfix: 쿠폰 메시지 수정

* fix: 방의 인증 시간에는 입장하지 못하도록 수정 (#223)

* fix: Room soft delete로 변경 (#226)

* fix: Room soft delete로 변경

* docs: mysql 수정

* fix: checkstyle

* fix: 참여자 목록이 복사되는 버그 해결 (#228)

* hotfix: distinct 추가

* fix: 기여도 버그 해결 (#230)

* fix: admin token (#231)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

* fix: objectMapper 삭제 추가

* feat: 어드민 서비스 로그인 기능 추가

* refactor: 어드민 config 업데이트

* fix: test application.yml 수정

* test: stub에서의 타입 오류 해결

* style: 변수면 변경

* feat: 어드민과 일반 유저간 토큰 생성, 검증 분리 및 로그인 분리

* feat: 회원 인증시 뱃지 생성기능 추가

* refactor: config 수정

* refactor: 코딩 스타일 재적용

---------

Co-authored-by: Kim Heebin <[email protected]>

* �fix: 인증율 하락 버그 수정 (#233)

* refactor: 코드 정리

* fix: 인증율 하락 수정

* fix: admin token fix (#234)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

* fix: objectMapper 삭제 추가

* feat: 어드민 서비스 로그인 기능 추가

* refactor: 어드민 config 업데이트

* fix: test application.yml 수정

* test: stub에서의 타입 오류 해결

* style: 변수면 변경

* feat: 어드민과 일반 유저간 토큰 생성, 검증 분리 및 로그인 분리

* feat: 회원 인증시 뱃지 생성기능 추가

* refactor: config 수정

* refactor: 코딩 스타일 재적용

* fix: 도메인 변경

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: 서브 도메인 설정 오류 변경

* hotfix: 서브 도메인 관련 기능 rollback

* feat: 에러 로그 슬랙 연동 구현 (#237)

* chore: logback slack appender 라이브러리 의존성 추가

* feat: 로그 파일 작성

* fix: admin token fix (#235)

* feat: 회원의 랭킹 redis에 추가 및 삭제, 업데이트 기능 추가

* test: 회원 정보 변경 및 삭제 추가에 따른 랭킹 참여, 제외 테스트 코드 추가

* feat: 랭킹시스템 API 추가 및 랭킹 조회 기능 추가

* feat: 랭킹 조회 테스트 코드 추가 및 랭킹 업데이트 로직 각 업데이트 -> 스케쥴러

* style: checkstyle 에러 fix

* refactor: 응답 객체명 변경 TopRankingInfoResponse -> TopRankingInfo

* fix: 랭킹 업데이트 시간 15분 매초마다 동작하는 방식 -> 15분에 한 번만 실행되도록 변경

* refactor: 랭킹 응답 반환 객체 변수면 s 제거

Co-authored-by: Kim Heebin <[email protected]>

* refactor: ToprankingResponses 응답 객체 반환명 TopRankingResponse로 변경

* fix: ObjectMapper에러 수정

* fix: objectMapper 삭제 추가

* feat: 어드민 서비스 로그인 기능 추가

* refactor: 어드민 config 업데이트

* fix: test application.yml 수정

* test: stub에서의 타입 오류 해결

* style: 변수면 변경

* feat: 어드민과 일반 유저간 토큰 생성, 검증 분리 및 로그인 분리

* feat: 회원 인증시 뱃지 생성기능 추가

* refactor: config 수정

* refactor: 코딩 스타일 재적용

* fix: 도메인 변경

* hotfix: 서버 도메인 변경

* feat: 로그인 쿠키 도메인 관련 SameSite를 None으로 변경

---------

Co-authored-by: Kim Heebin <[email protected]>

* hotfix: 서브 도메인 변경

* fix: date equals 적용 (#239)

* feat: exception AOP 로그 추가 (#241)

* feat: ExceptionHandler AOP 적용

* refactor: 수정

* refactor: checkstyle 적용

* refactor: 방, filter, aop 수정 (#243)

* fix: 방 상세 페이지 버그 수정

* refactor: 필터, AOP 수정

* hotfix: date equals 적용

* fix: 회원 삭제에 대한 참여자 목록 조회 기능 변경

* feat: sql 수정

* refactor: 벳지 init sql 수정

* refactor: 방 이미지 정보 변경

* fix: 방의 exp 보내는 방법 변경

* hotfix: 회원 삭제 로직 변경

* hotfix: 랭킹 조회 쿼리 및 방 조회 수정

* feat: 운영서버 배포 구현

* fix: 운영서버 배포 cd 수정

* fix: log AOP 제거 및 SlackExceptionHandler 수정

* chore: config 업데이트

---------

Co-authored-by: Kim Heebin <[email protected]>
Co-authored-by: Youngmyung Kim <[email protected]>
Co-authored-by: Park Seyeon <[email protected]>
Co-authored-by: 홍혁준 <[email protected]>
Co-authored-by: ymkim97 <[email protected]>
Co-authored-by: HyuckJuneHong <[email protected]>
  • Loading branch information
7 people committed Dec 3, 2023
1 parent 069ce68 commit bdfe3a6
Showing 1 changed file with 166 additions and 166 deletions.
332 changes: 166 additions & 166 deletions .github/workflows/prod-cd.yml
Original file line number Diff line number Diff line change
@@ -1,173 +1,173 @@
name: prod-CD

on:
push:
branches: [ "main" ]
push:
branches: [ "main" ]

permissions:
contents: write
contents: write

jobs:
move-files:
name: move-files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
token: ${{ secrets.MOABAM_SUBMODULE_KEY }}

- name: Github Actions IP 획득
id: ip
uses: haythem/[email protected]

- name: AWS Credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Github Actions IP 보안그룹 추가
run: |
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
- name: 디렉토리 생성
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
script: |
mkdir -p /home/ubuntu/moabam/
- name: Docker env 파일 생성
run:
cp src/main/resources/config/prod.env ./infra/.env

- name: 서버로 전송 기본 파일들 전송
uses: appleboy/scp-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
source: "infra/mysql/*, infra/nginx/*, infra/scripts/*.sh, !infra/scripts/deploy-dev.sh, infra/docker-compose-prod.yml, infra/.env"
target: "/home/ubuntu/moabam"

- name: 파일 세팅
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
script: |
cd /home/ubuntu/moabam/infra
mv docker-compose-prod.yml docker-compose.yml
chmod +x ./scripts/deploy-prod.sh
chmod +x ./scripts/init-letsencrypt.sh
chmod +x ./scripts/init-nginx-converter.sh
- name: Github Actions IP 보안그룹에서 삭제
if: always()
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
deploy:
name: deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
token: ${{ secrets.MOABAM_SUBMODULE_KEY }}

- name: JDK 17 셋업
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Gradle 캐싱
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle Grant 권한 부여
run: chmod +x gradlew

- name: 테스트용 MySQL 도커 컨테이너 실행
run: |
sudo docker run -d -p 3305:3306 --env MYSQL_DATABASE=moabam --env MYSQL_ROOT_PASSWORD=1234 mysql:8.0.33
- name: Gradle 빌드
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0
with:
arguments: build

- name: 멀티플랫폼 위한 Docker Buildx 설정
uses: docker/setup-buildx-action@v2

- name: Docker Hub 로그인
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}

- name: Docker Hub 빌드하고 푸시
uses: docker/build-push-action@v4
with:
context: .
file: ./infra/Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/${{ secrets.DOCKER_HUB_REPOSITORY }}:${{ secrets.DOCKER_HUB_DEV_TAG }}
build-args: |
"SPRING_ACTIVE_PROFILES=prod"
platforms: |
linux/amd64
linux/arm64
- name: Github Actions IP 획득
id: ip
uses: haythem/[email protected]

- name: AWS Credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Github Actions IP 보안그룹 추가
run: |
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
- name: EC2 서버에 배포
uses: appleboy/ssh-action@master
id: deploy-prod
if: contains(github.ref, 'main')
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
source: "./infra/docker-compose-prod.yml"
script: |
cd /home/ubuntu/moabam/infra
echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
./scripts/deploy-prod.sh
docker rm `docker ps -a -q`
docker rmi $(docker images -aq)
echo "### 배포 완료 ###"
- name: Github Actions IP 보안그룹에서 삭제
if: always()
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
move-files:
name: move-files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
token: ${{ secrets.MOABAM_SUBMODULE_KEY }}

- name: Github Actions IP 획득
id: ip
uses: haythem/[email protected]

- name: AWS Credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Github Actions IP 보안그룹 추가
run: |
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
- name: 디렉토리 생성
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
script: |
mkdir -p /home/ubuntu/moabam/
- name: Docker env 파일 생성
run:
cp src/main/resources/config/prod.env ./infra/.env

- name: 서버로 전송 기본 파일들 전송
uses: appleboy/scp-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
source: "infra/mysql/*, infra/nginx/*, infra/scripts/*.sh, !infra/scripts/deploy-dev.sh, infra/docker-compose-prod.yml, infra/.env"
target: "/home/ubuntu/moabam"

- name: 파일 세팅
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
script: |
cd /home/ubuntu/moabam/infra
mv docker-compose-prod.yml docker-compose.yml
chmod +x ./scripts/deploy-prod.sh
chmod +x ./scripts/init-letsencrypt.sh
chmod +x ./scripts/init-nginx-converter.sh
- name: Github Actions IP 보안그룹에서 삭제
if: always()
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
deploy:
name: deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
token: ${{ secrets.MOABAM_SUBMODULE_KEY }}

- name: JDK 17 셋업
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Gradle 캐싱
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle Grant 권한 부여
run: chmod +x gradlew

- name: 테스트용 MySQL 도커 컨테이너 실행
run: |
sudo docker run -d -p 3305:3306 --env MYSQL_DATABASE=moabam --env MYSQL_ROOT_PASSWORD=1234 mysql:8.0.33
- name: Gradle 빌드
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25 # v2.6.0
with:
arguments: build

- name: 멀티플랫폼 위한 Docker Buildx 설정
uses: docker/setup-buildx-action@v2

- name: Docker Hub 로그인
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}

- name: Docker Hub 빌드하고 푸시
uses: docker/build-push-action@v4
with:
context: .
file: ./infra/Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/${{ secrets.DOCKER_HUB_REPOSITORY }}:${{ secrets.DOCKER_HUB_PROD_TAG }}
build-args: |
"SPRING_ACTIVE_PROFILES=prod"
platforms: |
linux/amd64
linux/arm64
- name: Github Actions IP 획득
id: ip
uses: haythem/[email protected]

- name: AWS Credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Github Actions IP 보안그룹 추가
run: |
aws ec2 authorize-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
- name: EC2 서버에 배포
uses: appleboy/ssh-action@master
id: deploy-prod
if: contains(github.ref, 'main')
with:
host: ${{ secrets.EC2_PROD_INSTANCE_HOST }}
port: 22
username: ${{ secrets.EC2_PROD_INSTANCE_USERNAME }}
key: ${{ secrets.EC2_PROD_INSTANCE_PRIVATE_KEY }}
source: "./infra/docker-compose-prod.yml"
script: |
cd /home/ubuntu/moabam/infra
echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
./scripts/deploy-prod.sh
docker rm `docker ps -a -q`
docker rmi $(docker images -aq)
echo "### 배포 완료 ###"
- name: Github Actions IP 보안그룹에서 삭제
if: always()
run: |
aws ec2 revoke-security-group-ingress --group-id ${{ secrets.AWS_PROD_SG_ID }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32

0 comments on commit bdfe3a6

Please sign in to comment.