Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop: 11주차 개발 내용 병합 (Develop -> Master) #221

Merged
merged 76 commits into from
Nov 15, 2024
Merged

Conversation

us4c0d3
Copy link
Contributor

@us4c0d3 us4c0d3 commented Nov 15, 2024

PR

✨ 작업 내용


😊 리뷰 규칙을 지킵시다

코드 리뷰는 Pn룰에 따라 작성하기.
Reviewer가 피드백을 남길 때 Assignee에게 얼마나 해당 피드백에 대해 강조하고 싶은 지 표현하기 위한 규칙입니다.

  • P1 : 꼭 반영해 주세요 (Request Changes) - 이슈가 발생하거나 취약점이 발견되는 케이스 등
  • P2 : 반영을 적극적으로 고려해 주시면 좋을 것 같아요 (Comment)
  • P3 : 이런 방법도 있을 것 같아요~ 등의 사소한 의견입니다 (Chore)

us4c0d3 and others added 30 commits November 15, 2024 16:19
Java 21
Spring Boot 3.3.3
* [23조 KAPP짱 - BE] 7-8 주차 코드리뷰 (#93)

* Chore/issue#12: 프로젝트 Set Up (#13)

* Chore: 정산 상태 enum 정의

* Chore: 엔티티 클래스 작성

* Env: Swagger 추가

* Feat: Swagger 설정

* Env: Lombok 의존성 추가

* Chore: 엔티티 클래스 @Getter 어노테이션 추가

* Refactor: 모임 종료를 나타내는 필드 이름 수정

- isCompleted -> isClosed
- 정산 완료를 나타낼 때 COMPLETED를 사용

* Refactor: 초대 완료 여부를 나타내는 필드 이름 변경

- isInvited -> isInviteAccepted

* Rename: enum관련 패키지 이름 수정

- 모든 package 이름을 단수로 통일하기 위함
- enum -> enumeration

* Feat: BaseEntity 추가

* Refactor: 컨벤션에 따라 필드 이름 변경

- lowerCamelCase로 변경

* Refactor: 데이터베이스 수정사항 반영

- 필드 추가 및 수정
- 기본 생성자 추가
- 지연 로딩 설정

* Refactor: BaseEntity 접근 제한자 변경

Co-authored-by: Junseok Park <[email protected]>

* Chore: 모임 테이블명 변경

- Group -> Team
- 'group' MySql 예약어 이슈

---------

Co-authored-by: Junseok Park <[email protected]>

* Feature/issue#14: custom api response, exception handler 구현 (#19)

* Chore: PR 템플릿 수정

- 자동으로 연관 이슈 close 되도록 수정

* Fix: AccessLevel에 대한 import 추가

* Feat: success, error type 정의

* Env: Lombok 어노테이션 프로세서 추가

- builder -> cannot find symbol 에러 해결

* Feat: common api response 정의

- 사용 예시를 위한 example controller 포함

* Chore: 패키지 구조 조정

- enumeration 패키지를 common 하위로 이동
- response 관련 enum 클래스 이동

* Feat: custom exception 및 global exception handler 구현

* Docs: PR 템플릿 수정

- "의논 필요" 추가

* Chore: Gradle caching 임시 주석 처리

* Chore: Gradle caching 임시 주석 해제

* Fix: 베이스 엔티티 접근 제한자 변경

* Chore: ci test 실패 관련 수정

- ci 스크립트 내 캐싱 임시 주석
- 베이스 엔티티 접근 제한자 수정

* Style: 불필요한 개행 삭제

* Chore: annotationProcessor를 compileOnly에 확장

- CI 테스트 실패 해결 테스트

* Chore: CI 스크립트 수정

- pull_request_target -> pull_request

* Chore: 패키지 구조 조정

* Refactor: 예외 발생 시 로깅 처리

* Chore: rest-assured 추가

* Refactor: 공통 api response 수정

- Response Entity 사용

* Test: 공통 api response 테스트

* Refactor: HttpStatusCode로 변경

* Refactor/issue#74: Item, PersonalExpense 엔티티 연관관계 수정 (#75)

* Refactor: Item 엔티티 PersonalExpense 필드 삭제

- Item -> PersonalExpense 연관 관계 삭제
- 단방향으로 변경

* Refactor: 불필요한 줄바꿈 제거

* Refactor/issue#73: 엔티티 클래스 수정 (#76)

* Refactor: KakaoPayInfo 임베디드 타입으로 변경

* Refactor: `nullable = false` 설정

* Chore: repository test 주석처리

- kakaoPayInfo 테이블 없음 에러
- NOT NOLL 필드 에러
- 리팩토링 후 수정 예정

* Refactor/issue#77: TestUtil 및 주석 처리된 레포지토리 테스트 코드 수정 (#79)

* Refactor: 카테고리, 개인 지출 엔티티 생성자 수정

- Category 생성자 추가
- PersonalExpense 생성자 수정
-- item 연관 관계가 단방향으로 수정되었음으로 생성자에서 item 할당으로 변경

* Refactor: TestDataUtil 수정

* Refactor: RepositoryTest 수정

- ExpenseRepositoryTest
- TeamMemberRepositoryTest

* Refactor: 사용되지 않는 에러코드 제거

- PERSONAL_EXPENSE_NOT_FOUND

* Refactor/issue#63: ExpenseSerivce 테스트 코드 추가 및 예외 처리 추가 (#82)

* Refactor: Expense 목록이 비어있는 경우 지출 목록들의 totalPrice가 0을 반환하도록 수정

* Test: ExpenseService의 지출 목록 조회에 대한 테스트 추가

* Fix: totalPrice를 필터링 된 값의 연산으로 변경

* Style: 코드 일관성에 맞게 수정

* Rename: 지출 목록 조회 메서드명 변경

* Feat: 하드 코딩된 memberId를 `@AuthenticationPrincipal`을 사용하도록 변경

* Fix: 명세에 맞게 모든 지출목록에 대한 총 금액을 출력하도록 변경

* Feature/issue#80: Access 토큰 재발급 로직 추가 (#83)

* Fix: Date 대신 LocalDateTime 사용

- Date는 불변성 객체가 아님
- Date는 시간대 정보를 포함하지 않음

* Refactor: JWT 검증 메서드 추가

* Feat: access 토큰 재발급 로직 추가

* Docs: 회원 API 명세에 파라미터 설명 추가

* Fix: 로그인 request 필드에 validation 추가

* Test: access 토큰 재발급 테스트 추가

* Refactor: refresh 토큰 검증 메서드 분리

* Fix: 누락된 RequestBody 어노테이션 추가

* Fix: 시간대를 Asia/Seoul로 변경

* Feat: Weekly 브랜치 기준 서버 배포 자동화 (#88)

* Chore/issue#81;FIX: ssh 키 호출 에러 해결을 위해 키파일 생성 후 삭제 방식으로 변경 (#90)

* FIX: ssh 키 호출 에러 해결을 위해 키파일 생성 후 삭제 방식으로 변경

* Refactor: ssh 직접 연결에서 `appleboy/ssh-action`를 사용하는 방식으로 변경

* Feature/issue#84: `closeTeam` 명세 변경에 따른 request body 삭제 (#85)

* Feat: `closeTeam` 명세 변경에 따른 request body 삭제

* Feat: closeTeam에 대한 중복 요청 예외 처리 추가

---------

Co-authored-by: Junseok Park <[email protected]>
Co-authored-by: An Jaemin <[email protected]>
Co-authored-by: Wooseok Jang <[email protected]>

* Chore/issue#12: 프로젝트 Set Up (#13)

* Chore: 정산 상태 enum 정의

* Chore: 엔티티 클래스 작성

* Env: Swagger 추가

* Feat: Swagger 설정

* Env: Lombok 의존성 추가

* Chore: 엔티티 클래스 @Getter 어노테이션 추가

* Refactor: 모임 종료를 나타내는 필드 이름 수정

- isCompleted -> isClosed
- 정산 완료를 나타낼 때 COMPLETED를 사용

* Refactor: 초대 완료 여부를 나타내는 필드 이름 변경

- isInvited -> isInviteAccepted

* Rename: enum관련 패키지 이름 수정

- 모든 package 이름을 단수로 통일하기 위함
- enum -> enumeration

* Feat: BaseEntity 추가

* Refactor: 컨벤션에 따라 필드 이름 변경

- lowerCamelCase로 변경

* Refactor: 데이터베이스 수정사항 반영

- 필드 추가 및 수정
- 기본 생성자 추가
- 지연 로딩 설정

* Refactor: BaseEntity 접근 제한자 변경

Co-authored-by: Junseok Park <[email protected]>

* Chore: 모임 테이블명 변경

- Group -> Team
- 'group' MySql 예약어 이슈

---------

Co-authored-by: Junseok Park <[email protected]>

* Feature/issue#14: custom api response, exception handler 구현 (#19)

* Chore: PR 템플릿 수정

- 자동으로 연관 이슈 close 되도록 수정

* Fix: AccessLevel에 대한 import 추가

* Feat: success, error type 정의

* Env: Lombok 어노테이션 프로세서 추가

- builder -> cannot find symbol 에러 해결

* Feat: common api response 정의

- 사용 예시를 위한 example controller 포함

* Chore: 패키지 구조 조정

- enumeration 패키지를 common 하위로 이동
- response 관련 enum 클래스 이동

* Feat: custom exception 및 global exception handler 구현

* Docs: PR 템플릿 수정

- "의논 필요" 추가

* Chore: Gradle caching 임시 주석 처리

* Chore: Gradle caching 임시 주석 해제

* Fix: 베이스 엔티티 접근 제한자 변경

* Chore: ci test 실패 관련 수정

- ci 스크립트 내 캐싱 임시 주석
- 베이스 엔티티 접근 제한자 수정

* Style: 불필요한 개행 삭제

* Chore: annotationProcessor를 compileOnly에 확장

- CI 테스트 실패 해결 테스트

* Chore: CI 스크립트 수정

- pull_request_target -> pull_request

* Chore: 패키지 구조 조정

* Refactor: 예외 발생 시 로깅 처리

* Chore: rest-assured 추가

* Refactor: 공통 api response 수정

- Response Entity 사용

* Test: 공통 api response 테스트

* Refactor: HttpStatusCode로 변경

* Feature/issue#55: 모임의 멤버 초대 현황 조회 API (#56)

* Feat: 모임의 멤버 초대 현황 조회 구현

* Test: 초대 현황 조회

* Test: 초대 현황 조회 레포지토리 테스트

* docs: description 수정

* Comment: 주석 삭제

* Docs: @DisplayName 추가

* Refactor: @AllArgsConstructor 대신 생성자 이용하도록 수정

* Fix: 테스트 코드 주석처리

* Feature/issue#78: 지출 상태 변경(송금 대기 -> 완료) 기능 구현 (#96)

* Chore: 정산 상태 변경 API 관련 에러코드, 성공 코드 추가

* Feat: 정산 상태 변경(송금 대기 -> 완료) 기능 구현

* Test: 정산 상태 변경(송금 대기 -> 완료) 기능 테스트 코드 작성

* Refactor: ExpenseServiceTest 리팩토링

- 매직 넘버 제거
- 지출 목록 동적 생성

* Refactor: 지출 상태 변경 관련 ErrorType 추가

* Refactor: 지출 상태 변경 유효성 검증 로직 추가

* Test: 추가된 유효성 검증에 대한 테스트 코드 작성

* Refactor: Expense validateOwnerShip 수정

* Refactor: Status에 따른 지출 내역 조회를 Map을 이용하도록 수정

- 추후 PENDING 등을 구현할 때 메서드만 추가하면 되도록 변경

* Feat: 카카오 페이 송금 링크 조회 API 구현 (#101)

* Feat: 내가 지불한 지출 중 `송금 대기`상태인 지출 내역 조회 api 구현

* Docs: 내가 지불한 지출 내역 조회 API에 대한 명세 추가

* Feature/issue#86 : 개인 소비 내역 저장 API 구현 (#99)

* Feat: 새로운 개인 소비 내역 저장 구현

- 해당 item을 선택한 사람이 없는 경우

* Feat: 개인 소비 내역 저장 구현

- 해당 item을 선택 한 사람이 있는 경우

* Feat: 선택 완료 품목을 포함한 요청 예외처리 추가

* Docs: 지출 내역 저장 API 명세 작성

* Refactor: 빈 리스트 확인 isEmpty 사용하도록 수정

* Refactor: 메서드 분리

* Refactor: TestDataUtil createAndPersistPersonalExpense 수정

* Style: 코드 리포맷

* Refactor: 동시성 문제 해결

* Docs: 지출 내역 저장 API 명세 수정

* Test: 개인 소비 내역 저장 - 기존 데이터 업데이트 테스트

* Test: 개인 소비 내역 저장 - 기존 데이터 업데이트 테스트 수정

* Chore: 미사용 import문 삭제

* Refactor: checkRequestQuantityValidity 메서드 분리

* Test: 개인 소비 내역 저장 예외 발생 테스트

* Fix: memberId `@AuthenticationPrincipal` 사용 수정

* Refactor: 동시성 문제 처리 방식 변경

* Fix: ItemInfo의 itemId값 검증 수정

* Refactor: 출력 대신 실제 값 대조하도록 변경

* Refactor: 연관 관계 검증 추가

* Fix: 팀멤버 관련 설정 추가

* Feature/issue#95: 회원가입 API 추가 (#104)

* Refactor: 로그인에서  회원가입 로직 제거
- 회원 정보가 없을 시 에러 발생
- 카카오 프로필 관련 코드 삭제

* Refactor: 변경된 로그인 로직에 맞춰 테스트 수정

* Feat: 회원가입 로직 추가

* Docs: 회원가입 API 명세 추가

* Test: 회원가입 테스트 추가

* Chore: 회원가입 중복에 대한 에러 코드 변경

* Refactor: 리뷰 요청 질문 수정/추가, 에러 코드 정리 (#105)

* Docs: 이전 주차 리뷰 요청 파일 수정 및 추가

* Docs: 9주차 질문 추가 - 동시성 문제 관련

* Refactor: 에러 코드 정리

* Docs: 9주차 질문 추가 - API 명세 관련

* Fix: 생성자 변경사항 반영

* Docs: 사용하지 않는 에러 명세 삭제

* Fix: 중복 생성자 삭제

* Chore: 캐시 삭제

* Feat: 지출 단위 개인 지출, 모임 단위 개인 지출 추가

* Feat: 대기중인 지출 목록 조회 구현

* Test: 대기중인 지출 목록 조회 테스트

* Refactor: 지출 id 사용하도록 수정

* Refactor: 내 지출(지출단위) 없는 경우 null 반환하도록 수정

* Refactor: 데이터베이스에서 개인 지출 합계를 구하도록 수정

* Refactor: 사용하지 않는 필드 삭제

* Refactor: 값이 없을 때 null대신 0 반환하도록 수정

---------

Co-authored-by: Junseok Park <[email protected]>
Co-authored-by: An Jaemin <[email protected]>
Co-authored-by: Wooseok Jang <[email protected]>
Co-authored-by: us4c0d3 <[email protected]>
* Refactor: Expense validateOwnerShip 수정

* Feat: 지출 선택 상세 조회 기능 구현

* Test: 지출 선택 상세 조회 기능 테스트 작성

* Docs: 지출 선택 상세 조회 API 명세 작성

* Refactor: 지출 선택 상세 테스트 수정

* Refactor: getExpenseDetailResponse 메서드 분리

* Refactor: 누락된 import 문 추가
* Fix: request body 삭제

* Fix: response kakaoId로 수정
* Feat: 모임 멤버의 아이디 조회 로직 추가

* Test: 모임 멤버 아이디 조회 관련 테스트 추가

* Docs: 모임 멤버 아이디 조회 API 명세 추가
* Fix: JWT 관련 에러 핸들러 추가

* Fix: 허용하지 않은 경로에서만 토큰 검증하도록 수정

* Refactor: ObjectMapper를 빈으로 사용
* Feat: Refresh 토큰에 멤버 아이디 추가

* Fix: Access 토큰 재발급 과정에서 인증 과정 생략
us4c0d3 and others added 23 commits November 15, 2024 16:22
* Chore: 테스트 설명 수정

* Chore: 테스트 설명 수정

* Chore: 오타 수정
* Chore: 멤버 서비스 테스트 이름 수정

* Test: 회원 관련 통합 테스트 추가

* Chore: 테스트 이름 오타 수정
* Test: 지출 저장 기능 통합 테스트 작성

* Fix: 테스트에서 AwsClient 레이어 제거

* Fix: setUp 트랜젝션 추가

* Fix: commit 타이밍 수정

* Fix: jwt 타이밍 수정

* Fix: 토큰 생성 위치 변경
* Chore: Evaluation 브랜치 추가

* Chore: Application클래스 삭제
Copy link

github-actions bot commented Nov 15, 2024

Test Results

 27 files   27 suites   13s ⏱️
112 tests 112 ✅ 0 💤 0 ❌
114 runs  114 ✅ 0 💤 0 ❌

Results for commit 908c5dd.

♻️ This comment has been updated with latest results.

@us4c0d3 us4c0d3 requested a review from minju26 November 15, 2024 07:25
Copy link

Overall Project 84.63% -2.36% 🍏
Files changed 89.45% 🍏

File Coverage
TeamMember.java 100% 🍏
Team.java 98.94% 🍏
Member.java 96.77% -3.23% 🍏
ExpenseService.java 92.38% 🍏
Expense.java 87.22% -10%
PersonalExpenseService.java 81.03% -1.72% 🍏
PersonalExpense.java 80% -20%
MemberService.java 71.35% 🍏
TeamService.java 61.81% -5.56% 🍏

@us4c0d3 us4c0d3 merged commit 1cfb164 into Master Nov 15, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants