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

v 1.3.0 #334

Merged
merged 126 commits into from
Sep 6, 2024
Merged

v 1.3.0 #334

merged 126 commits into from
Sep 6, 2024

Conversation

KWY0218
Copy link
Member

@KWY0218 KWY0218 commented Sep 6, 2024

No description provided.

KWY0218 and others added 30 commits August 7, 2024 15:21
가독성 향상을 위해 스웨거 로직을 분리했습니다.
POST 관련 API는 Register, GET 관련 API는 Retrieve로 구분했습니다.
user controller 내에는 로그인 post와 방장, 참여자 회의 시간 입력 post
총 3개로 구성되고 있습니다.

로그인과 회의 시간 입력 api는 다른 관심사라고 생각하여
controller를 분리했습니다.
#305 [docs] presentation 로직과 스웨거 로직 분리
모든 기능을 user service에 넣는 것이 아닌
하나의 서비스가 하나의 역할을 할 수 있도록 만들기 위해
별도의 로그인 서비스를 추가로 생성했습니다
#307 [refactor] 로그인 기능 로그인 서비스로 분리
querydsl에서 record를 인식하지 못함 이슈로 class로 수정
방장과 유저를 만들 때 모두 사용하기 때문에
host name이 아닌 user name으로 수정했습니다.
KWY0218 and others added 29 commits August 25, 2024 00:32
입력된 값 중 중복된 시간이 있는지 확인하는 로직은 userMeetingSchedule과
연관되어 있다고 판단하여 함수를 이동했습니다.
#319 [feat] 기존 시간 입력 로직 제거
#326 [fix] 시간 별 유저 조회 로직 수정
개설된 총 회의 수, 확정된 총 회의 수, 사용한 총 사용자 수를 반환하는 쿼리
slack 알림을 전송하는 기능을 아래 장점 때문에 이벤트로 등록
1. 서비스와 인프라 간 의존성 제거
2. api 응답 속도 향상

스프링 이벤트는 동기 방식으로 진행하기 때문에 비동기 처리를 위해
@async 및 async config 등록
각 쿼리마다 조건문을 분기처리 하는 것은 비효율적이라고 생각했습니다.
그래서 querydsl의 BooleanExpression을 활용하는 방식으로 구현했습니다.

Querydsl의 DateTimePath을 아규먼트로 받아서
분기 처리 로직을 구현했습니다.

만약 null이 들어오면 조건식이 저절로 추가되지 않습니다.
created at이 들어있는 AuditingTimeEntity 가 abstract 클래스이기 때문에
entity manager를 사용하여 save 할 수 없었습니다.

그래서 sql을 이용해서 더미 값을 넣어줬습니다.

테스트 주요 대상은 createdAt 칼럼이기 때문에 나머지 값은 템플릿 화하고,
createdAt 만 beforeEach에서 별도로 넣어줬습니다.
from과 to로 null 값이 들어올 수 있기 때문에 서비스 로직을 일부 수정했습니다.
비즈니스 로직 변경에 따라서 테스트 코드도 수정하여 로직을 검증했습니다.
from과 to에 null이 들어올 수 있기 때문에 이를 반영했습니다.
테스트 이후 값이 초기화가 되지 않아서 다른 테스트가 실패했습니다.
따라서 테스트 이후 값을 초기화하기 위해서
인수 테스트에 transactional을 추가했습니다.
#332 [feat] 메트릭 API 기간 입력 요구사항 반영
@KWY0218 KWY0218 merged commit 02f9f3a into main Sep 6, 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.

2 participants