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

release: 백엔드 버전 2.1 배포 #811

Merged
merged 328 commits into from
Oct 22, 2024
Merged

release: 백엔드 버전 2.1 배포 #811

merged 328 commits into from
Oct 22, 2024

Conversation

mzeong
Copy link
Member

@mzeong mzeong commented Oct 22, 2024

🚩 연관 이슈

close #810


📝 작업 내용


🏞️ 스크린샷 (선택)


🗣️ 리뷰 요구사항 (선택)

mzeong and others added 30 commits July 25, 2024 22:00
- FcmSendRequest 매개변수 변경
- updateDone -> updateStatusToDone 메서드명 변경
- 시연을 위해 알림 전송 시간 임의 지정
- FcmSendRequest 매개변수 변경에 따른 테스트 코드 수정
* feat: 초대코드 존재유무 검증로직 구현

* refactor: id 기반 모임 조회로 로직 변경

---------

Co-authored-by: coli-geonwoo <[email protected]>
* chore: RequestDto 패키지 위치 이동

* style: 컨트롤러 컨벤션 개행 적용

* feat: 모임 입장 시 ENTRY 알림 저장, 전송 기능 추가

* refactor: 알림 전송 코드 개선

* refactor: 본인의 입장 푸쉬 알림은 안뜨도록 fcm 토픽 구독 순서 변경
* fix: 스플래쉬 delay 수정

* fix: LocalDateTime parse 형식 수정

* style: ktLint 적용
* refactor: data model -> data entity로 패키지명 변경

* refactor: entity -> remote 패키지 아래로 이동

* refactor: 각 entity 안에 request, response 패키지 만들기 및 remote 패키지 아래에 Ody api를 연결하는 패키지, FCM 패키지 만들기

* refactor: domain - repository 아래 이슈 별로 패키지 분리

* refactor: presentation common 만들기

* refactor: startingpoint -> departure 패키지 명 변경

* refactor: NotificationLogListAdapter -> NotificationLogsAdapter 클래스명 변경

* refactor: notificationlog -> meetingRoom 패키지명 변경

* refactor: startingpoint -> departure xml 명 변경

* refactor: domain으로 AddressValidator 이동

* refactor: presentation - listener 패키지 만들기

* refactor: presentation ui 모델은 presentation model 패키지 안에 넣기

* refactor: data - fake -> 테스트 패키지 쪽으로 위치 변경

* refactor: meeting 패키지 만들고 meeting과 관련된 파일들 이동

* refactor: join 패키지 만들고 join과 관련된 파일들 이동

* refactor: DepartureFragment -> JoinDepartureFragment로 프로그래먼트 명 변경

* style: ktlint

* refactor: meeting, join -> meetingcreation, meetingjoin으로 패키지명 변경

* refactor: meetingcreation, meetingjoin, meetingroom -> creation, join, room 으로 패키지명 변경

* refactor: data - remote - thirdparty, core로 패키지 분리

* style: ktlint

* style: ktlint
* refactor: manifest tools 속성 제거

* feat: SingleLiveData 추가

* refactor: Event -> SingleLiveData 변경

* style: ktLint 적용
* test: 길찾기 api 성공 restClient MockTest

* test: 도착지와 출발지가 700m 이내인 테스트 추가

* fix: 500 에러 시에만 OdyServerErrorException 발생하도록 수정

* test: 잘못된 api-key 요청 시 예외 발생 테스트 추가

* test: 클라이언트 예외 발생 테스트 추가

* test: static 키워드 삭제

* refactor: RouteClient 인터페이스화

* test: service layer FakeRouteClient 적용

* test: controller layer FakeRouteClient 적용, @disabled 제거

* test: RouteClient 관련 테스트 파일 디렉토리 이동

* refactor: URI 생성 로직 가독성 개선

* test: 불필요한 테스트 제거

* feat: NPE 체크 로직 추가

* test: 불필요한 RouteClient 설정 제거
* feat: SingleLiveData 추가

* refactor: Event -> SingleLiveData 변경

* style: ktLint 적용

* chore: open 키워드 제거
* refactor: 매핑 메서드 Mapper.kt 에서 각 Model의 메서드로 이동

* refactor: 매핑 메서드들 각 Mapper로 이동
* feat: 알림 생성 시점이 전송 시점보다 늦은 경우 예외 처리

* refactor: 생성자 접근제어자 수정, 주석 제거

* test: SpyBean 제거

* refactor: DepartureTime이 시간 비교하도록 수정

* test: assertThat 구문에서 when 절 분리

* test: findAny()로 변경

* test: 저장되었는지 검증하는 로직 수정

* test: 검증부 filter 조건 변경
…관리 (#183)

* refactor: 싱글턴 객체들 Application으로 이동

* refactor: 타입 이름 명시

* refactor: datastore 호출 부분을 repository 계층을 거치도록 변경

* refactor: ViewModelFactory 인스턴스를 각 액티비티에서 생성하도록 변경

* refactor: fcm 토큰 새로운 토큰 발급 시 repository에 저장

* chore: merge 작업
* chore: 함수 이름 통일

initializeObservingData -> initializeObserve

* refactor: SingleLiveData의 타입을 Boolean에서 Unit으로 변경

* refactor: 약속 날짜 유효성 검증을 ViewModel로 분리

* chore: 함수, 프로퍼티 순서 변경

* refactor: 매핑 메서드 Mapper.kt 에서 각 Model의 메서드로 이동 (#182)

* refactor: 매핑 메서드 Mapper.kt 에서 각 Model의 메서드로 이동

* refactor: 매핑 메서드들 각 Mapper로 이동

* feat: 알림 생성 시점이 전송 시점보다 늦은 경우 예외 처리  (#166)

* feat: 알림 생성 시점이 전송 시점보다 늦은 경우 예외 처리

* refactor: 생성자 접근제어자 수정, 주석 제거

* test: SpyBean 제거

* refactor: DepartureTime이 시간 비교하도록 수정

* test: assertThat 구문에서 when 절 분리

* test: findAny()로 변경

* test: 저장되었는지 검증하는 로직 수정

* test: 검증부 filter 조건 변경

* refactor: application에서 repository, datastore, retrofit service 인스턴스 관리 (#183)

* refactor: 싱글턴 객체들 Application으로 이동

* refactor: 타입 이름 명시

* refactor: datastore 호출 부분을 repository 계층을 거치도록 변경

* refactor: ViewModelFactory 인스턴스를 각 액티비티에서 생성하도록 변경

* refactor: fcm 토큰 새로운 토큰 발급 시 repository에 저장

* chore: merge 작업

* refactor: Splash 화면 이동 판단 로직을 뷰모델로 이동

* style: ktLint 적용

* refactor: 약속 시간이 초기화되었는지 판단하는 로직을 변수로 분리

* chore: 함수명 변경 empty -> clear

* chore: updateMeetingDate -> checkMeetingDateValidity 함수명 변경

---------

Co-authored-by: haeum808 <[email protected]>
Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: aprilgom <[email protected]>
* refactor: RouteClient 응답 분기를 객체로 캡슐화

* chore: 패키지 디렉토리 변경

domain > dto

* refactor : 응답 매핑 로직을 mapper로 이전

* refactor : 불필요한 static 객체 삭제

* refactor : 500에러 처리 로직 추가

* refactor : NPE 예외 처리

* refactor : 롬복으로 private 생성자 구현

* test: OdsayResponseMapperTest 작성

* style: message 개행 변경

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

* refactor: OdsayRouteClient에 mapper 로직 반영

* fix: FutureOrPresentDateTimeValidatorTest 오류 개선

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: H <[email protected]>
* design: font 스타일 추가

* design: colors 네이밍 변경

* design: 컬러 추가
* refactor: FCMService와 NotificationHelper 분리

* refactor: 알림 권한이 이미 있을 시 early return, viewmodel 이름 수정

* refactor: NotificationLog Result 반환하도록 수정

* refactor: 이벤트 리스너 네이밍 수정

* refactor: MeetingRoomViewModel 초기화 init 블럭 내 실행, Timber 로그 내 toString 제거

* style: ktLintFormat

* fix: NotificationLog repo 수정에 따른 FakeRepository 수정

* style: ktLintFormat
* refactor: JoinCompleteActivity에서 방 만들고 방 참여하던 로직을 MeetingCreationViewModel로 이동

* refactor: clickListener들 메서드 앞에 on prefix 추가

* refactor: Repository 반환값 MeetingResponse들 -> Meeing로 변경

* refactor: JoinInfoRequest -> MeetingJoinInfo로 변경

* style: ktlint

* refactor: MeetingRequest -> MeetingCreationInfo로 변경

* refactor: MeetingCreationNavigateAction 구현

* refactor: MeetingJoinNavigateAction 구현

* style: ktlint

* style: ktlint

* style: ktlint

* fix: FakeMeetingRepository 오버라이드 반환값 변경

* style: ktlint

* refactor: makeMeeting -> createMeeting, createMeetingResponse -> makeMeetingResponse 네이밍 변경

* refactor: name, date 널 체크 추가

* refactor: 좌표 압축 메서드 추가 및 data 계층으로 이동

* refactor: join nickname 널 처리 추가

* style: ktlint

* fix: 모임 참여 안되던 버그 수정
* refactor: 서비스가 DTO 반환하도록 수정

* refactor: 하나의 스트림으로 dto 생성하도록 수정

Co-authored-by: eun-byeol <[email protected]>

* fix: 하나의 stream으로 dto 생성하도록 수정을 위한 import 추가

* refactor: FcmPushSender 내 Notification 알림 조회 로직 제거

- getNickname 반환 타입 수정
- `@Async` 제거에 따른 FcmEventScheduler 파일 삭제
- FcmSendRequest 필드 수정

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

* fix: FcmSendRequest 변경에 따른 테스트 코드 수정

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

* refactor: Nickname 객체 필드명 value로 수

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

---------

Co-authored-by: eun-byeol <[email protected]>
Co-authored-by: hyeon0208 <[email protected]>
* feat: BindingActivity, BindingFragment 구현

* style: ktlint

* refactor: showSnackbar 메서드 추가 및 binding by lazy 사용, application private 제거

* refactor: showSnackbar 메서드 message 타입 변경 및 application 추가

* refactor: BindingActivity, BindingFragment 적용

* style: ktlint

* refactor: BindingActivity에 initializeBinding 추상 메서드 추가
* docs: 404에러 문서화를 위한 커스텀 어노테이션 추가

* docs: Swagger 회원 참여 API 문서화

* refactor: AliasFor 어노테이션으로 ApiResponse 속성값 매핑

* refactor: api url 버전명 추가

* feat: 기존의 /mates 요청 메서드 추가
* refactor: 서브 모듈 설정

* docs: 약속 참여자 eta 상태 목록 조회 API 문서화

* refactor: 도착 조건이 빠른 상태 순으로 상수 정렬

Co-authored-by: coli-geonwoo <[email protected]>

* docs: API 문서 상으로 도착지까지 남은 소요시간이 "분"임을 명시

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 400에러 시 오류에 대한 이유 자세히 명시

Co-authored-by: coli-geonwoo <[email protected]>

* docs: 참여자 위치 상태 조회 요청 dto 위경도 변경

Co-authored-by: coli-geonwoo <[email protected]>

* chore: DTO명 MateEtaxx로 수정

* docs: 400에러 설명 상세화

* fix: MateResponse 파일 복구

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
* feat: 약속 개설 v1 api dto 구현

* docs: 약속 개설 v1 API 문서화

* style: 추가 개행 삭제

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

* docs: deprecated 옵션 추가

* refactor: dto renaming

MeetingSaveV1Request > MeetingSaveRequestV1
MeetingSaveV1Response > MeetingSaveResponseV1

* docs : 모임 > 약속 수정

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
* feat: controller 약속 개설 v1 메서드 구현

* feat: 약속 개설 v1 메서드 구현

* style: 컨벤션 준수

* refactor : dto 이름 변경 반영

* refactor : 모임 > 약속 용어 통일

* style: 개행 제거

* test: statusCode 숫자로 표기

* test: deprecated 옵션 추가

---------

Co-authored-by: coli-geonwoo <[email protected]>
Co-authored-by: mzeong <[email protected]>
* chore: 오디 아이콘 추가

* design: 보라색 둥근 사각형 drawable 추가

* design: 로그 화면 오디? 버튼 디자인

* refactor: selector에 색상 제거

* design: 오디? 버튼 padding 10dp로 변경

* refactor: meeting_room_ody -> meeting_room_dashboard_button 네이밍 변경

* chore: 불필요한 파일 제거

* chore: rectangle_radius_0.xml 파일 추가

* design: 복사하기 버튼에 색상 추가

* chore: selector_button_color.xml 추가 및 Button -> AppCompatButton으로 변경

* design: 초대 코드 확인 버튼에 tint 추가
* design: 유저 위치 현황 화면 item 디자인 구현

* design: xml 파일명 수정

* feat: 로그 툴바에 뒤로가기 버튼 추가

* design: 유저 현황 화면 구현

* chore: string resource 이름 변경

* fix: 뱃지 중앙 정렬되지 않는 현상 수정

* refactor: layoutManager xml로 이동

* chore: meeting room 패키지 구조 변경

* feat: manifest에 현황 화면 추가

* chore: eta -> etadashboard 패키지명 변경

* style: ktLint 적용
* refactor: 약속 개설 v1 api에 맞게 요청/응답 데이터 수정

* refactor: 약속 참여 v1 api에 맞게 요청/응답 데이터 수정

* refactor: 약속 참여/개설 뷰모델 분리

* fix: MeetingResponse mapping 버그 수정

* fix: 약속 참여로 이동하지 않는 버그 수정

* fix: 모임 참여 시 유효성 검증 제대로 되지 않는 버그 수정

* style: ktLint 적용

* chore: startingPoint -> departure 프로퍼티명 변경

* chore: 쓰이지 않는 indicator 제거
* design: 홈 화면 리스트 디자인

* refactor: 리뷰 반영

* refactor: 리뷰 반영

* refactor: 리뷰 반영
mzeong and others added 18 commits October 21, 2024 15:25
* feat: 제어 API 구현

* feat: 서드파티 제어 값 조회 로직 구현 및 디비 저장

- ApiCall state 컬럼 추가
- 서드파티 제어 값 조회 API 구현
- ApiCallService 내 state 조회, 수정 로직 구현

* fix: 로컬 환경 동작을 위해 수정했던 sql script 롤백

* refactor:

- state 필드명 enabled로 변경
- api-call count api에 path variable 적용
- countOdsayApiCall, countGoogleApiCall 일반화
- client-type enum 내 reset date 결정하는 필드 추가
- fix: google enabled 값 조회하는 로직 논리적 에러
- 누락된 enabled 필드 추가 fiyway script 추가

* refactor: RouteService `@RequiredArgsConstructor` 사용

* refactor: ClientType 내 필드명 및 타입 변경

* refactor: ApiCallRepository 내 메서드 카디널리티 고려해 네이밍

* refactor: `findOrSaveFirstByClientTypeAndDateBetween` 메서드명 변경

* refactor: RouteClientMapper 내 from 메서드 변수명 가독성 개선

* refactor: `findOrSaveFirstByClientTypeAndDate`에 옵셔널 체이닝 사용

* refactor: `findFirst/AllByDateBetweenAndClientType` 테스트 DisplayName 수정

* refactor: `findFirstByDateBetweenAndClientType` 테스트 변수명 구체화 및 정렬
* fix: 백그라운드 예약이 겹치면 서비스가 종료될 때 모든 예약들이 종료되는 버그 해결

* feat: 예약된 작업을 Room에 저장하는 기능 구현

* refactor: 예약된 작업을 Room에 저장하는 기능을 repository로 이동

* feat: 실행된 예약 작업인 경우 Room에서 삭제하는 기능 구현

* feat: 로그아웃, 탈퇴 시 예약을 취소하는 기능 구현

* feat: 로그인 시 예약을 다시 수행하는 기능 구현

* test: fake repository 수정

* style: ktLint 적용

* feat: Room 마이그레이션 코드 추가

* chore: 불필요한 코드 제거

* fix: 로그아웃 후 로그인 시 다시 예약이 수행되도록 수정

* style: ktLint 적용

* Revert "fix: 백그라운드 예약이 겹치면 서비스가 종료될 때 모든 예약들이 종료되는 버그 해결"

This reverts commit 05a009a.

* chore: reserve -> reservation 네이밍 수정

* feat: database name 상수화 및 네이밍 변경

* refactor: service getIntent 수정

* style: ktLint 적용
* refactor: 약속 개설하기, 약속 참여하기 버튼 누르는 면적 넓히기

* refactor: 다시 gone으로 바꾸기
* del: 불필요한 파일 제거

* refactor: 복사하기 -> 클립보드 복사 변경

* refactor: 클립보드 복사 -> 복사하기
* design: 현위치 아이콘 크기 키우기

* feat: 5초 타임아웃 초과 시 ApiResult.Unexpected 에러 반환 구현

* feat: 위치를 불러올 수 없는 경우 스낵바 띄우는 기능 구현

* feat: 약속 장소 입력 시에도 현위치 불러오는 기능 구현

* style: ktLint 적용

* test: 테스트 fake repository 반환타입 수정
* feat: 어드민 페이지 html, js, css 작성

- thymeleaf 의존성 추가

* refactor: js 내에서 사용하지 않는 메서드 제거

* style: spring-boot-starter 정렬

* style: css 내 주석 제거

* refactor: ApiCallPageController 메서드 이름 유의미하게 변경

* refactor: 버튼 이름 의미 부여, enabled 조회해 버튼 갱신하도록 수정

* feat: 어드민 페이지 주소 환경 변수 설정

* refactor: axios 제거

* fix: ApiCallPageController profile 설정

* fix: 응답값 변환
* chore: dev cd 과정에 health check 추가

Co-authored-by: coli-geonwoo <[email protected]>

* chore: 기존 컨테이너 백업 및 롤백

Co-authored-by: coli-geonwoo <[email protected]>

* chore: cd dev 스크립트에 롤백 전략 적용

Co-authored-by: coli-geonwoo <[email protected]>

* chore: 롤백 테스트

Co-authored-by: coli-geonwoo <[email protected]>

* chore: checkout branch 변경 후 롤백 테스트

Co-authored-by: coli-geonwoo <[email protected]>

* chore: export 추가 후 롤백 테스트

Co-authored-by: coli-geonwoo <[email protected]>

* chore: docker inspect 추가 후 롤백 테스트

Co-authored-by: coli-geonwoo <[email protected]>

* chore: dev cd 스크립트 작성

Co-authored-by: coli-geonwoo <[email protected]>

* chore: prod cd 스크립트 작성

Co-authored-by: coli-geonwoo <[email protected]>

* chore: 롤백을 위한 작업을 별도의 워크플로로 구분

* feat: docker-compose.yml 파일 제거

---------

Co-authored-by: coli-geonwoo <[email protected]>
* fix: 약속 참여 후 로그 화면으로 navigate되지 않는 버그 해결

* refactor: replay -> conflate 사용으로 변경

* style: ktLint 적용
* refactor: 오디 버튼 활성화 되지 않았을 때 스낵메시지 내용 변경

* refactor: ux 라이팅 변경
Copy link

Test Results

169 tests   169 ✅  6s ⏱️
 47 suites    0 💤
 47 files      0 ❌

Results for commit 373723a.

Copy link

📝 Test Coverage Report

Overall Project 81.69% -1.1% 🍏
Files changed 85.32% 🍏

File Coverage
ClientType.java 100% 🍏
InstantConverter.java 100% 🍏
WebConfig.java 100% 🍏
MemberService.java 100% 🍏
NotificationService.java 98.67% 🍏
MeetingService.java 93.86% 🍏
MateService.java 93.59% 🍏
ApiCall.java 93.55% 🍏
ApiCallService.java 92.04% -7.96% 🍏
RouteClientMapper.java 91.07% -8.93% 🍏
RouteService.java 89.87% 🍏
FcmTopic.java 86.67% -13.33%
FcmPushSender.java 57.41% -5.56% 🍏
ApiCallController.java 46.88% -53.13%
FcmSubscriber.java 40% -12.86%
FcmConfig.java 11.43% -5.71%
ApiCallPageController.java 0%
ApiCallEnabledResponse.java 0%

Copy link
Contributor

@eun-byeol eun-byeol left a comment

Choose a reason for hiding this comment

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

두근두근💗

@mzeong mzeong merged commit 23b0466 into main Oct 22, 2024
3 checks passed
@mzeong mzeong deleted the release-be/810 branch October 22, 2024 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants