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

[BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) #575

Merged
merged 9 commits into from
Oct 12, 2024

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Oct 11, 2024

📌 관련 이슈

✨ PR 세부 내용

매칭 실패 원인을 프론트에 전달하는 기능을 구현했습니다.
구현 방식은 FailedMatching이라는 별도의 엔티티를 추가하여 매칭이 실패했을 때 관련 정보를 저장하고, 방을 조회할 때 실패 원인을 같이 전달하는 방식으로 구현하였습니다.

@Entity
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
public class FailedMatching {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private long roomId;

    @Enumerated(EnumType.STRING)
    private MatchingFailedReason reason;

    public FailedMatching(long roomId, ExceptionType exceptionType) {
        this(null, roomId, MatchingFailedReason.from(exceptionType));
    }

    public String getMatchingFailedReason() {
        return reason.getMessage();
    }
}

처음에 MatchResult 내부에서 상태를 가지도록 할까 고민했다가, 다들 알듯이 저희 MatchResult는 엄청 많이 생성되고 많이 아프잖아요,,.
그래서 여기에 추가 컬럼을 넣으면 성능 저하가 발생할 것을 우려되었습니다.

그래서 매칭이 실패한 경우에만 저장되는 FailedMatching 엔티티를 따로 구현하는 방식이 더 적합하다고 판단하고,
이렇게 하면 불필요한 데이터 저장을 최소화하면서도 매칭 실패 원인을 효과적으로 관리할 수 있다 생각됩니다.

아무리 생각해도 이 방법이 최선이고, 제일 좋은듯합니다. (혹여나 다른 의견 있다면 적극 환영입니다.) 😀

@github-actions github-actions bot added BE 백엔드 개발 관련 작업 기능 기능 구현 작업 labels Oct 11, 2024
Copy link
Contributor Author

github-actions bot commented Oct 11, 2024

Test Results

 49 files   49 suites   7s ⏱️
154 tests 148 ✅ 6 💤 0 ❌
163 runs  157 ✅ 6 💤 0 ❌

Results for commit 6181de9.

♻️ This comment has been updated with latest results.

@jcoding-play jcoding-play changed the title [BE] 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) Oct 11, 2024
Copy link
Contributor

@hjk0761 hjk0761 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

프론트에선 roomResponse 에서 메시지가 비었냐 아니냐로 오류 페이지를 판단하게 되는군요
고생 많았어요!!

Copy link
Contributor

@ashsty ashsty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

변경 범위가 조금 크네요 0ㅁ0
전반적으로 문제 없을 것 같아요. 간단한 코멘트 하나만 남겨두었는데 확인해주시면 되겠습니다.

고생하셨어요!

import java.util.HashMap;
import java.util.Map;

public class MatchingFailedMessageClassifier {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 클래스가 분리된 이유가 뭔가요? ㅇ.ㅇ

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

각 실패 원인에 대한 메시지 관리를 따로 하고 싶어서 분리했어요!

MatchingFailedReason에서 메시지까지 같이 가지고 있으면 너무 코드가 길어지더라고요.
그리고 레벨 1때 배운 내용들 생각하면 클라이언트 출력용 메시지는 따로 관리하는 것이 적절한 역할 분리라고 생각이 들었습니다.

애쉬는 너무 과한 분리라고 생각이 드신건가요?? 🧐

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

상태마다 할당되는 메세지가 각각 하나이다 보니 그냥 enum에서 메세지까지 같이 관리해도 되지 않을까... 싶더라고용.

MatchingFailedReason이 추가될 때마다 MatchingFailedMessageClassifier까지 함께 수정되어야 한다는 점에서
관리 포인트가 늘어날 것 같다는 생각도 듭니다.

그래도 다른 분들 괜찮으시면 수정할 필요는 없을듯요~~ 👍👍

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드적인 면으로는 클린코드 일거 같은데
관리적인 면에서 귀찮을거 같긴 하네요.

추가로, ENUM 이 늘어날 때 메시지를 실수로 추가하지 못할 우려가 생길꺼 같은데
switch - case 구문을 써서 넣는게 좋을거 같아용 🙂

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MatchingFailedReason에서 관리하도록 수정했고,
switch-case는 사용하지 않고 그냥 매개변수로 갖도록 수정했어요!~

@jcoding-play
Copy link
Contributor

프론트에선 roomResponse 에서 메시지가 비었냐 아니냐로 오류 페이지를 판단하게 되는군요
고생 많았어요!!

그렇지 않고, 프론트에서 오류 페이지는 먼저 RoomStatus.FAIL 상태를 통해 먼저 판단합니다.
message는 단순히 FAIL일 때 실패한 이유에 대해 전달하는 용도입니다~!

Copy link
Contributor

@youngsu5582 youngsu5582 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

의견 제시한 것도 한 큐에 진행할 수 있을거 같아서 APPROVE 드립니다!
수고했어용 뽀로로 🙂

return Arrays.stream(values())
.filter(reason -> reason.isTypeMatching(exceptionType))
.findAny()
.orElseThrow(() -> new CoreaException(ExceptionType.NOT_FOUND_ERROR));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서 NOT_FOUND_ERROR 를 던지면 다음 흐름은 어떻게 되나요?

UNKNOWN_ERROR 와 같은 ENUM 값을 만들고
하는건 어떨까요?

( 매칭을 실패했는데 해당 REASON 이 없어서
FAIL 이나, FAILED_REASON 이 없어서 예외 발생할 거 같은 우려 )

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UNKNOWN_ERROR 와 같은 ENUM 값을 만들고
하는건 어떨까요?

좋네요~ 수정했습니다.

import java.util.HashMap;
import java.util.Map;

public class MatchingFailedMessageClassifier {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드적인 면으로는 클린코드 일거 같은데
관리적인 면에서 귀찮을거 같긴 하네요.

추가로, ENUM 이 늘어날 때 메시지를 실수로 추가하지 못할 우려가 생길꺼 같은데
switch - case 구문을 써서 넣는게 좋을거 같아용 🙂

);
}

public static RoomResponse of(Room room, Participation participation) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

당장은 이렇게 구분하는게 최선일 거 같긴 하네요.

class MatchingFailedReasonTest {

@ParameterizedTest
@CsvSource(value = {"ROOM_NOT_FOUND, ROOM_NOT_FOUND", "AUTOMATIC_MATCHING_NOT_FOUND, AUTOMATIC_MATCHING_NOT_FOUND"})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ROOM_NOT_FOUND 중복으로 들어가용

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(ExceptionType exceptionType, MatchingFailedReason expected)

하나는 ExceptionType이고, 하나는 MatchingFailedReason의 값이라 중복으로 들어가는게 맞습니다~

@jcoding-play jcoding-play merged commit 236675e into develop Oct 12, 2024
4 checks passed
@jcoding-play jcoding-play deleted the feat/#562 branch October 12, 2024 20:13
jcoding-play added a commit that referenced this pull request Oct 12, 2024
* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>
jcoding-play added a commit that referenced this pull request Oct 12, 2024
* feat: 참여했던 방이 종료되면 참여 중 탭에서 제거하는 기능 구현

* [BE] 중복으로 매칭되던 상황 해결(#587) (#588)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* fix: 매칭 중복 예외 처리 안되던 오류 해결

* fix: 리뷰어 매칭 안되던 오류 수정

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

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>

* feat: pr 제출 안 했을 때 문구 추가 (#590)

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

* [BE] 방 생성 검증 로직 주석 처리(#593) (#594)

* refactor: 방 생성 검증 로직 주석 처리

* refactor: 운영 환경 설정 변경

* refactor: 방 생성 검증 로직 테스트 disabled 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: jinsil <[email protected]>
pp449 added a commit that referenced this pull request Oct 19, 2024
* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

* [BE] 참여했던 방이 종료되면 참여 중 탭에서 제거(#581) (#584)

* feat: 참여했던 방이 종료되면 참여 중 탭에서 제거하는 기능 구현

* [BE] 중복으로 매칭되던 상황 해결(#587) (#588)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* fix: 매칭 중복 예외 처리 안되던 오류 해결

* fix: 리뷰어 매칭 안되던 오류 수정

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

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>

* feat: pr 제출 안 했을 때 문구 추가 (#590)

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

* [BE] 방 생성 검증 로직 주석 처리(#593) (#594)

* refactor: 방 생성 검증 로직 주석 처리

* refactor: 운영 환경 설정 변경

* refactor: 방 생성 검증 로직 테스트 disabled 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: jinsil <[email protected]>

* refactor: 로컬 서버용 깃허브 토큰 변경 (#600)

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* [BE] 자동 예약 및 자동 업데이트 동시성 제어(#586) (#604)

* feat: Lock을 통한 자동 매칭 동시성 제어 기능 구현

* feat: Lock을 통한 자동 업데이트 동시성 제어 기능 구현

* feat: 자동 매칭 Lock 범위 최소화를 위한 클래스 구현

* feat: 자동 예약 Lock 범위 최소화를 위한 클래스 구현

* test: 자동 매칭 테스트 중복 코드 추상 클래스로 이동

* test: 자동 예약 테스트 중복 코드 추상 클래스로 이동

* refactor: Transactional 어노테이션 제거

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 수정 기능 & 스케줄러 부분 분리 및 리팩토링(#605) (#606)

* feat: repository 의존성 제거, 테스트 명확하게 변경

* feat: Reader/Writer 통해 조회 로직 분리

* feat: 룸 수정 기능 구현

* refactor: 피드백 반영

* fix: 충돌 해결

---------

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

* [FE] 콜리네 서비스 제공후 QA(#597) (#602)

* fix: 모집 마감 -> 종료된 방으로 변경

* fix: 매칭 후 pr 제출 안 해서 실패했을 때 바로 문구 띄우기

* design: 모달 이름에 width 변경

* design: 프로필 드롭다운에서 이름 다 보여지게 하기

* design: 배너 medium일 때 높이 수정

* feat: timeDropdown에서 선택된 시간이 제일 위에 떠있게 하기

* feat: 피드백 모아보기에서 세부 피드백에 scroll 추가

* design: 세부 피드백 높이 지정

* fix: content 길이 길어졌을 때 ... 로 보이게 하기

* design: 피드백 모달 엔터처리, line-height 추가

* feat: 분류 드롭다운으로 선택하게 변경

* feat: 키워드 없을 때 ui 처리

* feat: 방 매칭 실패 시 서버가 준 message 띄우기

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* refactor: ALL 타입 추가

* feat: 수정된 api에 맞게 message 타입 추가

* fix: 방 생성 시 키워드 입력을 안했을 때 렌더링 조건 수정

* feat: 바뀐 RoomInfo 데이터 형식에 맞게 storybook 수정

---------

Co-authored-by: jinsil <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: 00kang <[email protected]>

* [BE] 참여했던 방이 종료 된 후, 종료 탭 및 마이페이지에서 안보이는 문제 해결(#607) (#611)

* refactor: 참여한 방을 조회하는 기능 수정

* refactor: 방을 조회하는 기능 메서드 분리

* refactor: 방을 조회 메서드 클래스 분리

* test: Nested 어노테이션을 통한 RoomServiceTest 관심사 분리

* feat: 참여했던 방이 종료되면 종료 탭에서 보이도록 하는 기능 구현

* feat: 종료 탭에서 자신이 참여했던 방도 나타내는 기능 구현

* test: 테스트 수정

* refactor: 조회 쿼리 수정

* refactor: 피드백 반영

* refactor: 변수명 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 로그 중복 작성 제거, 비즈니스 로직 내 로그 추가(#608) (#610)

* feat: additivity false 로 변경

* refactor: 참가,취소 로직 분리

* chore: 로그 레벨 변경

* feat: 로그 추가

* refactor: 피드백 반영

---------

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

* [FE] 24시간 이하로 남으면 디데이 말고 시간 보여주기(#598) (#609)

* fix: 디데이가 1일 남은경우에도 24시간 미만 남은경우 남은 dday로 반환하도록 변경

* refactor: areDatesEqual 함수를 dateFormatter 유틸 함수로 이동

* fix: 중복된 함수 제거

* test: 데이터 포메팅 유틸 함수 테스트코드 추가

* test: 테스트 시 이미지 모듈은 mock string 값이 반환되도록 모킹

* test: 룸 카드의 남은 기간 정보 UI 렌더링 테스트 추가

* fix: 진행중인 방의 D-Day 가 잘못 표기되는 문제 해결

* test: 테스트 명세 오타 수정

* test: 방 상세정보의 모집/리뷰 마감까지 남은 시간 렌더링 테스트 추가

* test: jest 환경에서 시간대를 한국 시간대를 사용하도록 변경

* feat: SEO 최적화를 위해 html에 메타태그 추가

---------

Co-authored-by: Lee sang Yeop <[email protected]>

* [FE] 생성페이지 달력, 시간 입력 리팩토링(#603) (#614)

* design: 방 생성 페이지 모바일, 태블릿 대응

* refactor: error props 제거

* feat: DateTimePicker 생성하여 날짜, 시간 한번에 관리

* refactor: formatCombinedDateTime 인자 하나로 받기

* refactor: handleInputChange 함수로 통합하기

* refactor: 분류 type 맞추기

* feat: 방 생성 유효성 처리

---------

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

* refactor: 초기 데이터 주석 처리

* refactor: 초기 참여자 사이즈 변경

* feat: 매칭 실패 원인을 전달하는 기능 구현

* [BE] 방 응답 시, CLASSIFICATION 반환 추가(#621) (#623)

* feat: 방 정보 응답 시, classification 정보 추가

* feat: 개발 서버 액세스 토큰 변경

* test: 테스트 통과하도록 주석 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* refactor: 요청 dto 제약 조건 변경

* [FE] 방 수정 기능 추가(#616) (#620)

* feat: hostType node_env로 판별

* feat: 검색 title 변경

* fix: test에 message 추가하여 오류 해결

* feat: 방 수정 api 추가

* refactor: classification 속성 추가하기

* refactor: 방 상세 정보 가져오는 함수 훅으로 분리

* feat: 방 생성, 수정 페이지 분리

* fix: put 요청으로 변경

* refactor: getInitialFormState 함수로 분리

* design: 드롭다운 선택된 것 다르게 보여주기

* refactor: 불필요한 코드 제거

* fix: roomId로 변경

* feat: roomId로 변경

---------

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

* [FE] 참여 중인 방에 대해 바뀐 명세서 반영하기(#612) (#622)

* refactor: 수정된 API명세서에 맞게 includeClosed 쿼리 추가

* feat: 참여중 라벨 추가

* feat: 참여중, 모집중 라벨 같이 보여주기

* feat: 종료, 매칭실패 라벨 같이 보여주기

* feat: 참여중 라벨을 범용적으로 사용하기 위해 참여로 수정

* refactor: 참여 라벨, 매칭실패 라벨 고려하여 추가하기

* test: roomStatus, participationStatus, message 상태에 따라 다르게 보여지는 라벨의 테스트 구현

* feat: 서비스 어느 곳에서든지 참여 라벨이 있을 경우 상세페이지로 리다이렉팅

---------

Co-authored-by: 00kang <[email protected]>
Co-authored-by: Lee sang Yeop <[email protected]>

* [BE] 쓴 피드백은 피드백 모아보기에서 바로 볼 수 있도록 변경 + 리팩터링(#613) (#617)

* refactor: 작성한 피드백은 바로 피드백 모아보기에서 보도록 수정

* refactor: 피드백 가져오는 역할 클래스 분리

* refactor: 개발 피드백 작성 기능 수정

* refactor: 개발 피드백 수정 기능 변경

* refactor: 개발 피드백 조회 기능 수정

* refactor: 생성, 수정 dto 분리

* refactor: 피드백을 조회하는 기능 수정

* refactor: 피드백 반영

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 매칭 로직 원복 및 수정(#624) (#627)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* feat: submodule 업데이트

* refactor: 매칭 로직 원복

* fix: 매칭 로직 오류 수정

* refactor: 변수명 직관적으로 수정

* refactor: 리뷰어를 제외하고 matchingSize 만큼 추가 매칭하도록 수정

* refactor: 리뷰어가 matchingSize 만큼 리뷰이와 매칭되도록 수정

* feat: submodule 업데이트

* refactor: 피드백 반영

* refactor: 변수명 수정

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>

* [BE] 참여한 전체 방들 조회할 때, 실패 원인 같이 보내는 기능 구현(#625) (#629)

* refactor: ParticipationWriter 패키지 변경 및 코드 포맷팅 적용

* refactor: 작은 단위로 클래스 분리

* refactor: 예외 타입명 변경

* refactor: 참여했지만 매칭에 실패했던 모든 방들을 조회할 때 실패 메시지를 같이 보내는 기능 구현

* refactor: 방 조회 기능 수정

* test: 방 관련 테스트 추가

---------

Co-authored-by: gyungchan Jo <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: jinsil <[email protected]>
Co-authored-by: 00kang <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>
pp449 added a commit that referenced this pull request Oct 21, 2024
* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

* [BE] 참여했던 방이 종료되면 참여 중 탭에서 제거(#581) (#584)

* feat: 참여했던 방이 종료되면 참여 중 탭에서 제거하는 기능 구현

* [BE] 중복으로 매칭되던 상황 해결(#587) (#588)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* fix: 매칭 중복 예외 처리 안되던 오류 해결

* fix: 리뷰어 매칭 안되던 오류 수정

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

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>

* feat: pr 제출 안 했을 때 문구 추가 (#590)

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

* [BE] 방 생성 검증 로직 주석 처리(#593) (#594)

* refactor: 방 생성 검증 로직 주석 처리

* refactor: 운영 환경 설정 변경

* refactor: 방 생성 검증 로직 테스트 disabled 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: jinsil <[email protected]>

* refactor: 로컬 서버용 깃허브 토큰 변경 (#600)

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* [BE] 자동 예약 및 자동 업데이트 동시성 제어(#586) (#604)

* feat: Lock을 통한 자동 매칭 동시성 제어 기능 구현

* feat: Lock을 통한 자동 업데이트 동시성 제어 기능 구현

* feat: 자동 매칭 Lock 범위 최소화를 위한 클래스 구현

* feat: 자동 예약 Lock 범위 최소화를 위한 클래스 구현

* test: 자동 매칭 테스트 중복 코드 추상 클래스로 이동

* test: 자동 예약 테스트 중복 코드 추상 클래스로 이동

* refactor: Transactional 어노테이션 제거

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 수정 기능 & 스케줄러 부분 분리 및 리팩토링(#605) (#606)

* feat: repository 의존성 제거, 테스트 명확하게 변경

* feat: Reader/Writer 통해 조회 로직 분리

* feat: 룸 수정 기능 구현

* refactor: 피드백 반영

* fix: 충돌 해결

---------

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

* [FE] 콜리네 서비스 제공후 QA(#597) (#602)

* fix: 모집 마감 -> 종료된 방으로 변경

* fix: 매칭 후 pr 제출 안 해서 실패했을 때 바로 문구 띄우기

* design: 모달 이름에 width 변경

* design: 프로필 드롭다운에서 이름 다 보여지게 하기

* design: 배너 medium일 때 높이 수정

* feat: timeDropdown에서 선택된 시간이 제일 위에 떠있게 하기

* feat: 피드백 모아보기에서 세부 피드백에 scroll 추가

* design: 세부 피드백 높이 지정

* fix: content 길이 길어졌을 때 ... 로 보이게 하기

* design: 피드백 모달 엔터처리, line-height 추가

* feat: 분류 드롭다운으로 선택하게 변경

* feat: 키워드 없을 때 ui 처리

* feat: 방 매칭 실패 시 서버가 준 message 띄우기

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* refactor: ALL 타입 추가

* feat: 수정된 api에 맞게 message 타입 추가

* fix: 방 생성 시 키워드 입력을 안했을 때 렌더링 조건 수정

* feat: 바뀐 RoomInfo 데이터 형식에 맞게 storybook 수정

---------

Co-authored-by: jinsil <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: 00kang <[email protected]>

* [BE] 참여했던 방이 종료 된 후, 종료 탭 및 마이페이지에서 안보이는 문제 해결(#607) (#611)

* refactor: 참여한 방을 조회하는 기능 수정

* refactor: 방을 조회하는 기능 메서드 분리

* refactor: 방을 조회 메서드 클래스 분리

* test: Nested 어노테이션을 통한 RoomServiceTest 관심사 분리

* feat: 참여했던 방이 종료되면 종료 탭에서 보이도록 하는 기능 구현

* feat: 종료 탭에서 자신이 참여했던 방도 나타내는 기능 구현

* test: 테스트 수정

* refactor: 조회 쿼리 수정

* refactor: 피드백 반영

* refactor: 변수명 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 로그 중복 작성 제거, 비즈니스 로직 내 로그 추가(#608) (#610)

* feat: additivity false 로 변경

* refactor: 참가,취소 로직 분리

* chore: 로그 레벨 변경

* feat: 로그 추가

* refactor: 피드백 반영

---------

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

* [FE] 24시간 이하로 남으면 디데이 말고 시간 보여주기(#598) (#609)

* fix: 디데이가 1일 남은경우에도 24시간 미만 남은경우 남은 dday로 반환하도록 변경

* refactor: areDatesEqual 함수를 dateFormatter 유틸 함수로 이동

* fix: 중복된 함수 제거

* test: 데이터 포메팅 유틸 함수 테스트코드 추가

* test: 테스트 시 이미지 모듈은 mock string 값이 반환되도록 모킹

* test: 룸 카드의 남은 기간 정보 UI 렌더링 테스트 추가

* fix: 진행중인 방의 D-Day 가 잘못 표기되는 문제 해결

* test: 테스트 명세 오타 수정

* test: 방 상세정보의 모집/리뷰 마감까지 남은 시간 렌더링 테스트 추가

* test: jest 환경에서 시간대를 한국 시간대를 사용하도록 변경

* feat: SEO 최적화를 위해 html에 메타태그 추가

---------

Co-authored-by: Lee sang Yeop <[email protected]>

* [FE] 생성페이지 달력, 시간 입력 리팩토링(#603) (#614)

* design: 방 생성 페이지 모바일, 태블릿 대응

* refactor: error props 제거

* feat: DateTimePicker 생성하여 날짜, 시간 한번에 관리

* refactor: formatCombinedDateTime 인자 하나로 받기

* refactor: handleInputChange 함수로 통합하기

* refactor: 분류 type 맞추기

* feat: 방 생성 유효성 처리

---------

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

* refactor: 초기 데이터 주석 처리

* refactor: 초기 참여자 사이즈 변경

* feat: 매칭 실패 원인을 전달하는 기능 구현

* [BE] 방 응답 시, CLASSIFICATION 반환 추가(#621) (#623)

* feat: 방 정보 응답 시, classification 정보 추가

* feat: 개발 서버 액세스 토큰 변경

* test: 테스트 통과하도록 주석 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* refactor: 요청 dto 제약 조건 변경

* [FE] 방 수정 기능 추가(#616) (#620)

* feat: hostType node_env로 판별

* feat: 검색 title 변경

* fix: test에 message 추가하여 오류 해결

* feat: 방 수정 api 추가

* refactor: classification 속성 추가하기

* refactor: 방 상세 정보 가져오는 함수 훅으로 분리

* feat: 방 생성, 수정 페이지 분리

* fix: put 요청으로 변경

* refactor: getInitialFormState 함수로 분리

* design: 드롭다운 선택된 것 다르게 보여주기

* refactor: 불필요한 코드 제거

* fix: roomId로 변경

* feat: roomId로 변경

---------

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

* [FE] 참여 중인 방에 대해 바뀐 명세서 반영하기(#612) (#622)

* refactor: 수정된 API명세서에 맞게 includeClosed 쿼리 추가

* feat: 참여중 라벨 추가

* feat: 참여중, 모집중 라벨 같이 보여주기

* feat: 종료, 매칭실패 라벨 같이 보여주기

* feat: 참여중 라벨을 범용적으로 사용하기 위해 참여로 수정

* refactor: 참여 라벨, 매칭실패 라벨 고려하여 추가하기

* test: roomStatus, participationStatus, message 상태에 따라 다르게 보여지는 라벨의 테스트 구현

* feat: 서비스 어느 곳에서든지 참여 라벨이 있을 경우 상세페이지로 리다이렉팅

---------

Co-authored-by: 00kang <[email protected]>
Co-authored-by: Lee sang Yeop <[email protected]>

* [BE] 쓴 피드백은 피드백 모아보기에서 바로 볼 수 있도록 변경 + 리팩터링(#613) (#617)

* refactor: 작성한 피드백은 바로 피드백 모아보기에서 보도록 수정

* refactor: 피드백 가져오는 역할 클래스 분리

* refactor: 개발 피드백 작성 기능 수정

* refactor: 개발 피드백 수정 기능 변경

* refactor: 개발 피드백 조회 기능 수정

* refactor: 생성, 수정 dto 분리

* refactor: 피드백을 조회하는 기능 수정

* refactor: 피드백 반영

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 매칭 로직 원복 및 수정(#624) (#627)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* feat: submodule 업데이트

* refactor: 매칭 로직 원복

* fix: 매칭 로직 오류 수정

* refactor: 변수명 직관적으로 수정

* refactor: 리뷰어를 제외하고 matchingSize 만큼 추가 매칭하도록 수정

* refactor: 리뷰어가 matchingSize 만큼 리뷰이와 매칭되도록 수정

* feat: submodule 업데이트

* refactor: 피드백 반영

* refactor: 변수명 수정

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>

* [BE] 참여한 전체 방들 조회할 때, 실패 원인 같이 보내는 기능 구현(#625) (#629)

* refactor: ParticipationWriter 패키지 변경 및 코드 포맷팅 적용

* refactor: 작은 단위로 클래스 분리

* refactor: 예외 타입명 변경

* refactor: 참여했지만 매칭에 실패했던 모든 방들을 조회할 때 실패 메시지를 같이 보내는 기능 구현

* refactor: 방 조회 기능 수정

* test: 방 관련 테스트 추가

---------

Co-authored-by: gyungchan Jo <[email protected]>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: jinsil <[email protected]>
Co-authored-by: 00kang <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>
pp449 added a commit that referenced this pull request Oct 21, 2024
* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

* [BE] 참여했던 방이 종료되면 참여 중 탭에서 제거(#581) (#584)

* feat: 참여했던 방이 종료되면 참여 중 탭에서 제거하는 기능 구현

* [BE] 중복으로 매칭되던 상황 해결(#587) (#588)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* fix: 매칭 중복 예외 처리 안되던 오류 해결

* fix: 리뷰어 매칭 안되던 오류 수정

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

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>

* feat: pr 제출 안 했을 때 문구 추가 (#590)

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

* [BE] 방 생성 검증 로직 주석 처리(#593) (#594)

* refactor: 방 생성 검증 로직 주석 처리

* refactor: 운영 환경 설정 변경

* refactor: 방 생성 검증 로직 테스트 disabled 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현(#562) (#575)

* feat: 반환된 예외를 통해 실패 원인을 찾는 기능 구현

* feat: 실패한 매칭 정보를 저장하는 엔티티 구현

* feat: 매칭을 실패했을 경우 실패한 매칭 정보를 저장하는 기능 구현

* refactor: 클래스명 변경

* feat: 반환된 예외를 통해 매칭 실패 원인에 대한 메세지를 얻는 기능 구현

* refactor: FailedMatching 생성자 변경

* feat: 매칭 실패한 방을 조회시, 실패 원인을 같이 전달하는 기능 구현

* refactor: 맵 구현체 변경

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 종료 시, 코드 리뷰 완료 버튼 동작 안하도록 하는 기능 구현(#579) (#580)

* feat: 방 종료 후 코드 리뷰 완료 버튼 검증 로직 구현

* fix: 잘못된 요청값 수정 (#566)

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

* refactor: 리뷰 완료 요청 검증 로직 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>

---------

Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: jinsil <[email protected]>

* refactor: 로컬 서버용 깃허브 토큰 변경 (#600)

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* [BE] 자동 예약 및 자동 업데이트 동시성 제어(#586) (#604)

* feat: Lock을 통한 자동 매칭 동시성 제어 기능 구현

* feat: Lock을 통한 자동 업데이트 동시성 제어 기능 구현

* feat: 자동 매칭 Lock 범위 최소화를 위한 클래스 구현

* feat: 자동 예약 Lock 범위 최소화를 위한 클래스 구현

* test: 자동 매칭 테스트 중복 코드 추상 클래스로 이동

* test: 자동 예약 테스트 중복 코드 추상 클래스로 이동

* refactor: Transactional 어노테이션 제거

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 방 수정 기능 & 스케줄러 부분 분리 및 리팩토링(#605) (#606)

* feat: repository 의존성 제거, 테스트 명확하게 변경

* feat: Reader/Writer 통해 조회 로직 분리

* feat: 룸 수정 기능 구현

* refactor: 피드백 반영

* fix: 충돌 해결

---------

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

* [FE] 콜리네 서비스 제공후 QA(#597) (#602)

* fix: 모집 마감 -> 종료된 방으로 변경

* fix: 매칭 후 pr 제출 안 해서 실패했을 때 바로 문구 띄우기

* design: 모달 이름에 width 변경

* design: 프로필 드롭다운에서 이름 다 보여지게 하기

* design: 배너 medium일 때 높이 수정

* feat: timeDropdown에서 선택된 시간이 제일 위에 떠있게 하기

* feat: 피드백 모아보기에서 세부 피드백에 scroll 추가

* design: 세부 피드백 높이 지정

* fix: content 길이 길어졌을 때 ... 로 보이게 하기

* design: 피드백 모달 엔터처리, line-height 추가

* feat: 분류 드롭다운으로 선택하게 변경

* feat: 키워드 없을 때 ui 처리

* feat: 방 매칭 실패 시 서버가 준 message 띄우기

* [BE] Room Controller 역할 분리(#595) (#596)

* refactor: Room Controller 역할 분리

* refactor: 피드백 반영

---------

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

* refactor: ALL 타입 추가

* feat: 수정된 api에 맞게 message 타입 추가

* fix: 방 생성 시 키워드 입력을 안했을 때 렌더링 조건 수정

* feat: 바뀐 RoomInfo 데이터 형식에 맞게 storybook 수정

---------

Co-authored-by: jinsil <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: 00kang <[email protected]>

* [BE] 참여했던 방이 종료 된 후, 종료 탭 및 마이페이지에서 안보이는 문제 해결(#607) (#611)

* refactor: 참여한 방을 조회하는 기능 수정

* refactor: 방을 조회하는 기능 메서드 분리

* refactor: 방을 조회 메서드 클래스 분리

* test: Nested 어노테이션을 통한 RoomServiceTest 관심사 분리

* feat: 참여했던 방이 종료되면 종료 탭에서 보이도록 하는 기능 구현

* feat: 종료 탭에서 자신이 참여했던 방도 나타내는 기능 구현

* test: 테스트 수정

* refactor: 조회 쿼리 수정

* refactor: 피드백 반영

* refactor: 변수명 변경

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 로그 중복 작성 제거, 비즈니스 로직 내 로그 추가(#608) (#610)

* feat: additivity false 로 변경

* refactor: 참가,취소 로직 분리

* chore: 로그 레벨 변경

* feat: 로그 추가

* refactor: 피드백 반영

---------

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

* [FE] 24시간 이하로 남으면 디데이 말고 시간 보여주기(#598) (#609)

* fix: 디데이가 1일 남은경우에도 24시간 미만 남은경우 남은 dday로 반환하도록 변경

* refactor: areDatesEqual 함수를 dateFormatter 유틸 함수로 이동

* fix: 중복된 함수 제거

* test: 데이터 포메팅 유틸 함수 테스트코드 추가

* test: 테스트 시 이미지 모듈은 mock string 값이 반환되도록 모킹

* test: 룸 카드의 남은 기간 정보 UI 렌더링 테스트 추가

* fix: 진행중인 방의 D-Day 가 잘못 표기되는 문제 해결

* test: 테스트 명세 오타 수정

* test: 방 상세정보의 모집/리뷰 마감까지 남은 시간 렌더링 테스트 추가

* test: jest 환경에서 시간대를 한국 시간대를 사용하도록 변경

* feat: SEO 최적화를 위해 html에 메타태그 추가

---------

Co-authored-by: Lee sang Yeop <[email protected]>

* [FE] 생성페이지 달력, 시간 입력 리팩토링(#603) (#614)

* design: 방 생성 페이지 모바일, 태블릿 대응

* refactor: error props 제거

* feat: DateTimePicker 생성하여 날짜, 시간 한번에 관리

* refactor: formatCombinedDateTime 인자 하나로 받기

* refactor: handleInputChange 함수로 통합하기

* refactor: 분류 type 맞추기

* feat: 방 생성 유효성 처리

---------

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

* refactor: 초기 데이터 주석 처리

* refactor: 초기 참여자 사이즈 변경

* feat: 매칭 실패 원인을 전달하는 기능 구현

* [BE] 방 응답 시, CLASSIFICATION 반환 추가(#621) (#623)

* feat: 방 정보 응답 시, classification 정보 추가

* feat: 개발 서버 액세스 토큰 변경

* test: 테스트 통과하도록 주석 처리

---------

Co-authored-by: gyungchan Jo <[email protected]>

* refactor: 요청 dto 제약 조건 변경

* [FE] 방 수정 기능 추가(#616) (#620)

* feat: hostType node_env로 판별

* feat: 검색 title 변경

* fix: test에 message 추가하여 오류 해결

* feat: 방 수정 api 추가

* refactor: classification 속성 추가하기

* refactor: 방 상세 정보 가져오는 함수 훅으로 분리

* feat: 방 생성, 수정 페이지 분리

* fix: put 요청으로 변경

* refactor: getInitialFormState 함수로 분리

* design: 드롭다운 선택된 것 다르게 보여주기

* refactor: 불필요한 코드 제거

* fix: roomId로 변경

* feat: roomId로 변경

---------

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

* [FE] 참여 중인 방에 대해 바뀐 명세서 반영하기(#612) (#622)

* refactor: 수정된 API명세서에 맞게 includeClosed 쿼리 추가

* feat: 참여중 라벨 추가

* feat: 참여중, 모집중 라벨 같이 보여주기

* feat: 종료, 매칭실패 라벨 같이 보여주기

* feat: 참여중 라벨을 범용적으로 사용하기 위해 참여로 수정

* refactor: 참여 라벨, 매칭실패 라벨 고려하여 추가하기

* test: roomStatus, participationStatus, message 상태에 따라 다르게 보여지는 라벨의 테스트 구현

* feat: 서비스 어느 곳에서든지 참여 라벨이 있을 경우 상세페이지로 리다이렉팅

---------

Co-authored-by: 00kang <[email protected]>
Co-authored-by: Lee sang Yeop <[email protected]>

* [BE] 쓴 피드백은 피드백 모아보기에서 바로 볼 수 있도록 변경 + 리팩터링(#613) (#617)

* refactor: 작성한 피드백은 바로 피드백 모아보기에서 보도록 수정

* refactor: 피드백 가져오는 역할 클래스 분리

* refactor: 개발 피드백 작성 기능 수정

* refactor: 개발 피드백 수정 기능 변경

* refactor: 개발 피드백 조회 기능 수정

* refactor: 생성, 수정 dto 분리

* refactor: 피드백을 조회하는 기능 수정

* refactor: 피드백 반영

* refactor: 피드백 반영

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [BE] 매칭 로직 원복 및 수정(#624) (#627)

* refactor: 도메인 수정

* feat: 리뷰어, 리뷰이 조회 API 기능 구현

* refactor: 중복된 기능 코드 제거

* docs: 메서드 시그니쳐 통일

* feat: 시연용 데이터 추가

* refactor: 패키지 이동으로 인한 오류 수정

* feat: 시연용 데이터 추가

* fix: REMOTE_ORIGIN 그냥 변수로 변경

* feat: 데이터 추가

* feat: 서브모듈 반영

* feat: response 생성 때 reviewer, reviewee 분리

* feat: application 설정 변경

* feat: 데모 데이터 함수로 분리

* fix: 누락된 saveAll 추가

* fix: 데이터 정합성 수정

* fix: roomId 상수 변경

* feat: 피드백 키워드 뒤 .제거

* refactor: 3차 데모데이 데이터 변경

* feat: room 4에 대한 케이스도 추가

* feat: room 4 매칭 추가

* fix: 응답 내 프로필 링크로 변경

* 최신 브랜치 병합

* feat: submodule 업데이트

* refactor: 서브모듈 변경

* feat: submodule 업데이트

* refactor: 매칭 로직 원복

* fix: 매칭 로직 오류 수정

* refactor: 변수명 직관적으로 수정

* refactor: 리뷰어를 제외하고 matchingSize 만큼 추가 매칭하도록 수정

* refactor: 리뷰어가 matchingSize 만큼 리뷰이와 매칭되도록 수정

* feat: submodule 업데이트

* refactor: 피드백 반영

* refactor: 변수명 수정

---------

Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>

* [BE] 참여한 전체 방들 조회할 때, 실패 원인 같이 보내는 기능 구현(#625) (#629)

* refactor: ParticipationWriter 패키지 변경 및 코드 포맷팅 적용

* refactor: 작은 단위로 클래스 분리

* refactor: 예외 타입명 변경

* refactor: 참여했지만 매칭에 실패했던 모든 방들을 조회할 때 실패 메시지를 같이 보내는 기능 구현

* refactor: 방 조회 기능 수정

* test: 방 관련 테스트 추가

---------

Co-authored-by: gyungchan Jo <[email protected]>

* [FE] FallbackImage 잘 안 뜨는 문제 해결하기(#631) (#633)

* fix: 로딩 전에 src 먼저 빈 문자열인지 판별

* fix: useState 초깃값으로 src 넣어주기

---------

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

* [FE] 콜리네 서비스 제공 후 받은 피드백 반영하기 (#628) (#630)

* feat: 평가 옵션의 텍스트를 아쉬움과 만족만 표시하도록 수정

* design: 피드백 모아보기 페이지의 피드백카드 디테일 수정

* feat: 피드백 모아보기 페이지의 피드백카드에 textarea 추가

* feat: 피드백 모아보기 페이지에서 키워드가 없을 때 처리

* design: 피드백 폼의 갭 수정

* design: 피드백 카드 컴포넌트에 textarea를 사용하면서 불필요한 디자인 속성 삭제

* fix: 보안 관련 경고를 해결하기 위해 target="_blank"를 사용하는 곳에 rel="noreferrer" 추가

* fix: 모달 문구 방 생성과 수정 다르게 렌더링

* refactor: EllipsisText라는 공통 컴포넌트 만들어서 텍스트가 온전히 보이지 않는 문제 해결

* design: Icons 사이즈 조정 및 단위 통일

* feat: 방카드모달에서 키워드 없을 때 처리

* design: 리뷰어, 리뷰이 테이블 아이디 가운데 정렬

* feat: 리뷰어/리뷰이 피드백 작성 모달 확인시 textarea로 보여주기

* feat: 리뷰어/리뷰이 피드백 모달 내에 키워드 없을 때 처리

* design: 키워드 정렬 수정

* design: 코드리뷰완료 버튼 색 수정

* design: 리뷰어/리뷰이 피드백 모달에 gap 조정

* feat: 코드 추천 항목은 비공개임을 명시

* refactor: HoverStyledLink를 이용해서 가이드페이지 제외 모든 컨텐츠 링크 스타일링 통일

* refactor: HoverStyledLinkForGuide를 이용해서 가이드페이지 내부 링크 스타일링 통일

* fix: MemoryRouter를 이용해 테스트 환경에 라우터 컨텍스트 제공

* feat: 놓친 EllipsisText 추가

* fix: Textarea의 글자수표시영역이 div에 같이 안 잡히는 에러 해결

* refactor: 피드백모달의 view모드일 때 분기를 Textarea 내부에서 하기

---------

Co-authored-by: 00kang <[email protected]>

* [FE] 모달페이지 웹 접근성 추가(#618) (#641)

* feat: 선언적으로 지정된 요소에만 Tab키 선택이 가능하도록 하는 FocusTrap 컴포넌트 추가

* fix: 버튼이 disabled 인 경우 tab으로 선택이 안되도록 수정

* feat: dropdown의 경우 open되면 해당 옵션만 tab으로 선택 가능하도록 추가

* feat: Modal 에 FocusTrap 추가

* style: OptionSelect 컴포넌트가 focus 시 outline이 보이지 않는 문제 수정

* fix: 룸카드 컴포넌트를 버튼으로 만들어 tab으로 접근 및 보이스오버에서 한 번에 읽을 수 있도록 변경

* fix: 헤더의 요소를 클릭 가능하도록 변경 및 시멘틱 태그 추가

* chore: 피드백 프로세스 버튼을 tab으로 선택이 가능하도록 태그를 변경 및 애니메이션 추가

* feat: 피드백 모아보기 페이지에 tab키로 사용 가능하도록 추가

* fix: 타입명과 컴포넌트명이 일치한 문제 해결

* fix: a 링크에 noreferrer 추가

* style: RoomCard의 요소를 button -> div 로 롤백

* feat: 프로필 드롭다운시 해당 요소만 포커싱이 되도록 추가

* feat: 피드백 모달에서 탭키로 사용이 가능하도록 추가

* refactor: 이전요소 포커싱 함수 리팩토링

* chore: 헤더에 불필요한 주석 제거

---------

Co-authored-by: Lee sang Yeop <[email protected]>
Co-authored-by: 최진실 <[email protected]>

* [BE] 리뷰 서비스 리팩토링(#615) (#636)

* refactor: 리뷰 클라이언트 패키지 이동 및 리팩토링

* refactor: 리뷰 서비스 리팩토링

* fix: 충돌 해결

* refactor: 피드백 반영

---------

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

* [BE] 수정 시, 현재 인원 초기화 + 방 삭제 / 수정 시 오픈 상태일때만 수정하게 변경(#637) (#639)

* refactor: 리뷰 클라이언트 패키지 이동 및 리팩토링

* refactor: 리뷰 서비스 리팩토링

* fix: 충돌 해결

* chore: ExceptionType 명확하게 변경

* fix: 잘못된 매개변수 변경

* refactor: reader,writer 통해 기능 분리

* refactor:피드백 반영

* test: 테스트 예제 추가

* fix: 방 상태를 그대로 가지게 변경

---------

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: gyungchan Jo <[email protected]>
Co-authored-by: youngsu5582 <[email protected]>
Co-authored-by: ashsty <[email protected]>
Co-authored-by: hjk0761 <[email protected]>
Co-authored-by: jinsil <[email protected]>
Co-authored-by: 00kang <[email protected]>
Co-authored-by: HyunJoong Kim <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드 개발 관련 작업 기능 기능 구현 작업
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BE] 방 매칭 실패 시 매칭 실패 원인을 전달하는 기능 구현
4 participants