Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* docs: 리드미 추가 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * docs: PR 템픔릿 파일명 규칙에 맞게 변경 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * docs: PR 템픔릿 파일 위치 규칙에 맞게 변경 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * docs: 모임 개설 API 문서화 (#3) * docs: 모임 개설 API 문서화 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * config: 백엔드 모듈 설정 추가 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * docs: 모임 개설 API 문서 가독성 개선 (#6) * docs: 모임 개설 API 문서화 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * config: 백엔드 모듈 설정 추가 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * docs: 모임 개설 API 문서 가독성 개선 Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * feat: 엔티티 구현 (#8) * feat: Meeting 엔티티 추가 * feat: Member 엔티티 추가 * feat: Mate 엔티티 추가 * feat: Notification 엔티티 추가 * refactor: Location 필드 변경 * docs: 모임 참여 API 문서화 (#11) * docs: 모임 개설 API DTO 이름 변경 * docs: 모임 참여 API 문서화 * docs: 모임 개설, 모임 참여 API 상태 코드 변경 * feat: 안드로이드 기초세팅 (#15) * config: 프로젝트 생성 * config: 의존성 추가 * design: 디자인 기초 설정 * chore: 안드로이드 기본 manifest 설정 - 알림 권한 - 인터넷 권한 - 가로 모드 고정 설정 * feat: Timber 초기 설정 * chore: MainActivity -> IntroActivity 클래스명 변경 * chore: 패키지 구조 설정 * feat: Retrofit 초기 설정 * docs: 참여중인 모임 목록 조회 API 문서화 (#17) * chore: dto 디렉토리 세부화 * docs: 참여한 모임목록 조회 API 문서화 * refactor: 리소스 url 미반환 --------- Co-authored-by: coli-geonwoo <[email protected]> * docs: FCM 토큰 저장, 초대 코드 유효성 검사 API 문서화 (#16) * docs: 회원 추가 API 문서 추가 * docs: 초대 코드 유효성 검사 API 문서 추가 * style: 코드 컨벤션 적용 * refactor: 회원 추가 API 매핑 URL 추가 * style: 한 줄에 하나의 점 컨벤션 적용 * docs: 로그 목록 API 추가 (#14) * chore: backend ci 스크립트 작성 (#42) Co-authored-by: coli-geonwoo <[email protected]> * feat: 스플래쉬 화면 구현 (#41) * design: 오디 로고 이미지 추가 * feat: 스플래쉬 화면 구현 * chore: Android 12에 추가된 Splash disable 위한 설정 추가 * feat: 공통 컴포넌트 구현 (#40) * design: 뒤로 가기 버튼이 존재하는 툴바 ui 구현 * design: 입력창 스타일 구현 * design: 하단 버튼 스타일 구현 (다음, 확인) * design: 제목이 있는 툴바 ui 구현 * design: 로그 화면의 툴바 ui 구현 * design: EditText drawable 테두리 수정 * style: 코드 줄바꿈 삭제 * chore: 앱 아이콘 오디 아이콘으로 변경 (#44) * chore: 앱 status bar 추가 (#45) * chore: backend ci 스크립트 작성 (#48) * chore: backend ci 스크립트 작성 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 스크립트 테스트 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 스크립트 paths 주석처리 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: dockerfile 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: coli-geonwoo <[email protected]> * feat: 주소 검색 화면 구현 (#47) * design: 약속 장소 입력 ui 구현 * design: 주소 검색 웹뷰 ui 구현 * config: 데이터 바인딩, 뷰 바인딩 의존성 추가 * feat: 주소 검색 다이얼로그 띄우는 기능 구현 * design: 다이얼로그 ui 수정 * style: ktLint 적용 * config: 데이터 바인딩, 뷰 바인딩 의존성 추가 방식 변경 * refactor: 다이얼로그 설정 코드 scope function으로 변경 * feat: Timber에 DebugTree 추가 (#50) * chore: buildConfig true로 설정 * feat: OdyDebugTree 구현 * Merge branch 'feature/49' into develop * Merge branch 'feature/49' into develop * Revert "Merge branch 'feature/49' into develop" This reverts commit e06c1435188680a53f426b5fb3154b8ed2ef7db0. * Revert "Merge branch 'feature/49' into develop" This reverts commit 7859febd2bb38655b56ad3736cf48361da8ae7c3. --------- Co-authored-by: aprilgom <[email protected]> * chore: android ci 구축 (#54) * chore: android ci 스크립트 작성 * chore: android ci 스크립트 오류 수정 * chore: android ci 스크립트 수정 * chore: android ci 스크립트 수정 * chore: android ci 스크립트 수정 * feat: FCM 구현 (#52) * feat: 헤더에 Authorization 필드 추가, BASE_URL local.properties로 이동 * feat: 회원 추가 서비스 구현 * feat: FCM 구현, 앱 설치 후 처음 실행 시 회원 추가 API 전송 * style: lint * config: 의존성 컨벤션 준수 * config: 서버 URL 변수 이름 BASE_URL로 변경 * refactor: Service 경로 postfix 이름 PATH로 변경 --------- Co-authored-by: kimhm0728 <[email protected]> * chore: cicd 파이프라인 구축 (#55) * chore: backend ci 스크립트 작성 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 스크립트 테스트 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 스크립트 paths 주석처리 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: docker build push job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: dockerfile 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend-cicd-dev.yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd job 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd yml 주석 제거 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cd yml 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend dockerfile 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend ci 오류 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: dockerfile 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: dockerfile 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: dockerfile 수정 Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd yml, dockerfile 수정 Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: coli-geonwoo <[email protected]> * chore: backend cicd yml 파일 통합 (#62) * chore: 사용하지 않는 backend ci yml 파일 삭제 Co-authored-by: coli-geonwoo <[email protected]> * chore: workflow 스크립트 내 actions 버전 최신화 Co-authored-by: coli-geonwoo <[email protected]> * chore: ci 작업에서 test 실패 시 로그 출력 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: ci 작업에서 test 실패 시 로그 출력 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: ci 작업에서 test 실패 시 로그 출력 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: ci 작업에서 test 실패 시 로그 출력 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * chore: ci 작업에서 test 실패 시 로그 출력 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: coli-geonwoo <[email protected]> * chore: android ci 스크립트 수정 (#64) * chore: android ci 스크립트 수정 * chore: android ci 스크립트 테스트 * chore: android ci 스크립트 수정 * chore: android ci 스크립트 테스트 * chore: android ci 스크립트 수정 * feat: 주소 검색 다이얼로그 구현 (#67) * feat: 주소 검색 웹뷰 html 추가 * style: EditText 스타일 변경 * config: 중복되는 의존성 제거 * feat: 다이얼로그에서 웹뷰를 띄우는 기능 구현 * feat: 다이얼로그에서 선택한 주소를 fragment에 전달하는 기능 구현 * fix: ui 스레드에서 주소를 받아오도록 수정 * refactor: 고차 함수를 인터페이스로 변경 * style: 다이얼로그 크기 변경 * feat: 주소 리스너 인터페이스 추가 * style: ktlint 적용 * chore: AddressListener -> AddressReceiveListener 인터페이스명 변경 * chore: DestinationFragment -> MeetingDestinationFragment 클래스명 변경 * feat: 모임 개설 시 프래그먼트들 연결하는 뷰페이저 (#69) * chore: dotsibdicator 의존성 추가 * feat: 모임 방 개설에 필요한 정보들 입력하는 화면들 추가 * feat: ViewPager2 Adapter 구현 * feat: ViewPager와 탭바 뒤로 가기 연결 * feat: 클래스 명 변경 및 indicator 변경 WormDotsIndicator -> DotsIndicator indicator StartingPointFragment -> JoinStartingPointFragment * chore: ktlint apply true로 변경 * chore: deprecated buildconfig 제거 * chore: ksp 버전 업그레이드 1.6.10-1.0.4 -> 1.9.0-1.0.13 * chore: MeetingInfoActivity exported true로 변경 * feat: 모임 참여 완료 화면 구현 (#70) * chore: 박수 이미지들 추가 * feat: 모임 개설 완료 화면 구현 * chore: DestinationFragment -> MeetingDestinationFragment 변경 * feat: 모임 참여 완료 화면 (#72) * chore: 달력 이미지들 추가 * feat: 모임 참여 완료 화면 구현 * chore: 화면 회전 가로로 고정 및 exported false로 변경 * chore: tools:text에 해당하는 값 하드 코딩으로 변경 * feat: 메인 화면 구현 (#73) * design: 인트로 화면 xml 작성 * design: activity_intro.xml 작성 * feat: Event 작성 * feat: IntroNavigateAction 작성 * feat: Intro 버튼 리스너 인터페이스 작성 * feat: 각 버튼 클릭에 따른 Navigation Event 발생 구현 * feat: IntroActivity에 ViewModel 추가 * feat: observe 초기화 코드 추가 * refactor: IntroActivity와 MeetingInfoActivity 연결 * refactor: binding 함수 분리, initialize로 함수명 통일 * chore: shape_purple_radius_20.xml -> rectangle_purple_radius_20.xml 이름 변경 * design: 탑 바 추가 --------- Co-authored-by: haeum808 <[email protected]> * feat: 모임 참여 시 프래그먼트들 연결하는 뷰페이저 (#74) * chore: MeetingInfoListener -> InfoListener로 인터페이스 명 변경 * feat: 모임 참여 뷰페이저 구현 * chore: initializeDataBinding에 ViewPager 초기화 메서드 추가 * chore: VisitorInfo -> JoinInfo로 메서드명 변경 * chore: InfoListener -> BackListener로 인터페이스 명 변경 * feat: 알림 권한 요청 (#75) * feat: 알림 권한 요청 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * chore: android ci 필드 추가 (#78) * chore: android ci 스크립트 api key 추가 * chore: android ci 스크립트 테스트 * chore: android ci 스크립트 테스트 * feat: 위도, 경도 가져오는 api 연동 (#76) * feat: 위경도 가져오는 repository 구현 * feat: 카카오 location response dto 추가 * feat: 카카오 location api 연동 * feat: 위도 경도를 프래그먼트에 전달하는 기능 구현 * refactor: 위도 경도 받아오는 기능을 비동기로 처리 * fix: 위도 경도 비동기로 받아와서 프래그먼트에 전달 * fix: 위경도 받아온 후 다이얼로그 닫도록 수정 * refactor: interceptor로 헤더 추가 * style: ktLint 적용 * chore: moshi 어댑터 import 수정 * refactor: 함수 분리 * refactor: 위경도에 대한 mapper 생성 * chore: 패키지 구조 변경 * refactor: 위경도 데이터에 대한 ui model 추가 * style: ktLint 적용 * chore: 사용하지 않는 파일 삭제 * feat: 약속 날짜 입력 화면 (#79) * feat: 날짜 선택 화면 구현 * chore: 불필요한 스낵바 제거 * feat: 날짜 선택 시간에 따른 예외 처리 * style: ktlint * feat: 모임 정보 입력 검증 로직 추가 (#68) * feat: 모임 정보 입력 검증 로직 추가 * fix: 검증할 DTO에 검증 어노테이션 추가 * style: 코드 컨벤션 적용 * feat: nickname 검증을 담당하는 도메인 추가 * refactor: 엔티티에서 이미 선언된 NotNull을 임베디드 객체에서 제거 * feat: 닉네임 입력 화면 구현 (#86) * design: 닉네임 입력 화면 ui 구현 * feat: 닉네임 최대 길이 뷰모델에서 가져오도록 구현 * feat: 닉네임이 변경되면 닉네임 글자수가 보이는 기능 구현 * feat: 엑스 버튼 누르면 입력된 닉네임 없어지는 기능 구현 * feat: 닉네임 입력 여부에 따라 다음 버튼 비활성화 되는 기능 구현 * style: ktLint 적용 * feat: 초대 코드 복사 bottom dialog (#84) * design: bottom sheet 틀 디자인 * design: bottom sheet 디자인 * feat: 초대 코드 복사하기 구현 * chore: initialize로 네이밍 통일 및 스낵바에 Int값 전달로 변경 * chore: 초대 코드 관련 UX 라이팅 변경 초대 코드가 복사 됐습니다. -> 초대 코드가 복사 복사되었습니다. * feat: 약속 시간 입력 화면 구현 (#97) * design: 약속 시간 입력 화면 ui 구현 * feat: 시간과 분을 NumberPicker에 데이터로 넣어주는 기능 구현 * feat: NumberPicker 무한 스크롤 구현 * refactor: NumberPicker 숫자 지정하는 기능을 프래그먼트로 이동 * feat: 현재 시간으로 NumberPicker 초기값 셋팅하는 기능 구현 * feat: 다음 버튼 누르면 시간 유효성 검증 구현 * refactor: 다음 버튼 리스너를 인터페이스로 분리 * style: ktLint 적용 * refactor: numberPicker value를 데이터 바인딩으로 수정 * feat: 초대 코드 입력 화면 구현 (#99) * design: 초대 코드 입력 화면 뷰 구현 * feat: 초대 코드 유효성 검증 repository 구현 * chore: manifest에 액티비티 추가 * design: edit text 속성 추가 * feat: 초대 코드 입력 여부에 따라 엑스 버튼의 가시성을 변경하는 기능 구현 * feat: 엑스 버튼 클릭 시 입력한 초대 코드 지우는 기능 구현 * design: strings 와 selector 추가 * feat: 확인 버튼 클릭 시 유효성 검증하는 기능 구현 * style: ktLint 적용 * chore: 불필요한 코드 삭제 * feat: toolbar back 버튼 리스너 구현 * chore: infoListener -> backListener 네이밍 수정 * chore: dialog 크기 수정 (#98) * feat: 서브모듈 환경 구축 (#101) * chore: ci submodule 적용 * chore: 서브모듈 디렉토리 추가 * chore: private.yml 파일 수정 테스트 * chore: private.yml 파일 수정 * test: test argument 수정 * chore: ci 스크립트 수정 * chore: ci 스크립트 수정 --------- Co-authored-by: coli-geonwoo <[email protected]> * feat: 출발지 입력 화면 구현 (#100) * style: 출발지 입력 화면 ui 구현 * feat: 도착지 입력 시 수도권 유효성 검증 구현 * refactor: 주소 검색 클릭 리스너 인터페이스로 분리 * chore: 패키지 분리 * feat: 출발지 입력 시 수도권 유효성 검증 구현 * feat: 수도권 여부에 따라 다음 버튼 활성화 기능 구현 * style: ktLint 적용 * feat: 모임 이름 입력 화면 구현 (#102) * design: 모임 이름 입력 ui 구현 * feat: 글자수 데이터 바인딩 기능 구현 * refactor: 모임 시간 범위 표현 방식 수정 * fix: strings 추가 * fix: 바인딩 빌드 오류 해결 * feat: 출발 시간 알림 구현 (#60) * feat: 출발 시간 알림 예약 기능 추가 Co-authored-by: mzeong <[email protected]> * refactor: 토큰으로 회원 조회 ArgumentResolver로 공통화 Co-authored-by: mzeong <[email protected]> * fix: TaskScheduler 빈 등록 Co-authored-by: mzeong <[email protected]> * test: 출발 시간 알림 예약 기능 테스트 추가 Co-authored-by: mzeong <[email protected]> * fix: JpaAuditing 활성화 Co-authored-by: mzeong <[email protected]> * fix: 요청 DTO 매핑을 위한 RequestBody 어노테이션 추가 Co-authored-by: mzeong <[email protected]> * fix: save 메서드에 Transactional 어노테이션 추가 Co-authored-by: mzeong <[email protected]> * style: 코드 컨벤션 적용 Co-authored-by: mzeong <[email protected]> * fix: firebase 키 캐쉬 내역 제거 * fix: 테스트 시에 테스트용 yml이 수정되도록 규칙에 맞게 이름 수정 Co-authored-by: mzeong <[email protected]> * refactor: 모임 내 모든 사용자가 알림 받도록 topic 기능 사용 Co-authored-by: hyeon0208 <[email protected]> * refactor: 알림에 닉네임 포함하도록 수정 Co-authored-by: hyeon0208 <[email protected]> * refactor: 예외 메세지 오타 수정 Co-authored-by: hyeon0208 <[email protected]> * refactor: 디바이스 토큰 헤더 형식 검증 로직 분리 Co-authored-by: hyeon0208 <[email protected]> * refactor: 컨트롤러 시그니처 변경 및 스웨거 문서 수정 - 디바이스 토큰 헤더 커스텀 어노테이션 생성 Co-authored-by: hyeon0208 <[email protected]> * fix: FCM 토픽 구독 로직 분리 Co-authored-by: hyeon0208 <[email protected]> * refactor: Member 필드에 DeviceToken 타입 사용 Co-authored-by: hyeon0208 <[email protected]> * refactor: FCM 설정 옵션 코드 분리 및 테스트를 위한 enable 로직 제거 Co-authored-by: hyeon0208 <[email protected]> * refactor: FCM message 생성 로직 가독성 개선 Co-authored-by: hyeon0208 <[email protected]> * refactor: 변수 선언으로 `taskScheduler.schedule()` 호출 시 가독성 개선 Co-authored-by: hyeon0208 <[email protected]> * refactor: 가독성 개선을 위해 AndroidNotification 변수 선언 Co-authored-by: hyeon0208 <[email protected]> * refactor: Fixture에 private 생성자 추가 Co-authored-by: hyeon0208 <[email protected]> * refactor: IntegrationTest -> BaseControllerTest 이름 변경 Co-authored-by: hyeon0208 <[email protected]> * refactor: test application.yml 파일 제거 Co-authored-by: hyeon0208 <[email protected]> * refactor: 롬복을 이용하지 않고 Fixture private 생성자 추가 Co-authored-by: hyeon0208 <[email protected]> --------- Co-authored-by: Hyeon0208 <[email protected]> Co-authored-by: H <[email protected]> * feat: 초대 코드 Preference dataStore 세팅 (#104) * chore: preference datastore 의존성 추가 * feat: 초대 코드 복사 preference datastore 기초 세팅 * feat: 모임 참여/개설 시 뷰모델 데이터 관리 #93 (#105) * feat: 입력값 유효성에 따라 다음 버튼 활성화되도록 구현 * feat: 다음 버튼이 비활성화되면 스와이프도 불가능하도록 구현 * refactor: startActivity 방식을 getIntent로 변경 * feat: 다음 화면으로 이동하면 다음버튼이 비활성화 되도록 구현 * fix: 출발지 입력에 대한 유효성 검증 처리를 Event로 변경 * refactor: 모임 개설 시 데이터 viewModel에서 관리하도록 수정 * feat: 모임 개설 시 화면 플로우 구현 * style: ktLint 적용 * fix: Swagger에서 API 호출 시 Bad Request 응답 오류 (#107) * refactor: `common/annotation` 패키지 이름 오타 수정 * refactor: Authorization 헤더 사용을 위한 설정 추가 및 코드 변경 - 커스텀 어노테이션 DeviceTokenHeader 제거 - 디바이스 토큰 접두사 수정 * fix: 멤버 추가 시 멤버 검증 로직 포함되지 않도록 수정 * fix: nickname 객체로 변경에 따른 코드 수정 * fix: 디바이스 토큰 접두사 추가에 따른 테스트 코드 수정 * fix: LocalDate, LocalTime Swagger 상 타입 표현 string으로 수정 Co-authored-by: hyeon0208 <[email protected]> * fix: 닉네임을 객체로 변환함에 따른 getter 코드 수정 Co-authored-by: hyeon0208 <[email protected]> --------- Co-authored-by: hyeon0208 <[email protected]> * feat: 모임 초대 코드 생성 기능 추가 (#61) * feat: 모임 초대 코드 생성 기능 추가 Co-authored-by: mzeong <[email protected]> * style: 한줄에 한개의 점만 찍는다 컨벤션 적용 * refactor: 디코딩 검증 로직 추가 --------- Co-authored-by: mzeong <[email protected]> * feat: 서버 헤더 형식 변경 (#112) * feat: 로그 화면 구현 (#108) * feat: Notification 도메인 타입 정의 * feat: api 서버로부터 받는 NotificationLog 타입 정의 * feat: retrofit의 NotificationService 구현 * feat: NotificationLogRepository의 명세와 기본 Repository 구현 * refactor: NotificationLog -> NotificationEntity * design: item_notification_log.xml 작성 * feat: 타입 추가 정의 * chore: merge * refactor: DefaultNotificationLogRepository 싱글턴으로 변경 * feat: NotificationLogViewModel 구현 * feat: NotificationLogActivity 구현 * design: rectangle_cream_downside_radius_30.xml 작성 * design: item_notification_log.xml 작성 * chore: merge * chore: merge * feat: 로그 리사이클러 뷰 구현 * chore: merge * refactor: 알림 로그를 불러올 때 meetingId를 이용해 불러오도록 변경 * feat: 뷰와 데이터 바인딩 * chore: 오타 수정 * feat: 초대 코드 화면에서 로그 화면으로 이동 기능 구현 * refactor: 리뷰 반영 * refactor: ViewHolder 분리 * feat: 닉네임, 출발지 입력 (#80) * refactor: Nickname 도메인 개선 - OdyException 커스텀 예외 생성 - 이름 변경 (NickName -> Nickname) * refactor: 위경도 검증 로직 추가 - Location 필드에 `@NotNull` 추가 * feat: 전역 예외 처리기 추가 * refactor: 불필요한 final 키워드 제거 * refactor: 공백만 존재하는 닉네임 불가하도록 수정 * feat: 소요 시간 계산 기능 구현 (#96) * chore: private 파일 gitignore 추가 * feat: 소요 시간 계산 기능 구현 * refactor: 소요 시간 계산 API client 변경 * feat: Duration Deserializer 구현 Co-authored-by: coli-geonwoo <[email protected]> * refactor: RouteClient calculateDuration 메서드 수 Co-authored-by: coli-geonwoo <[email protected]> * feat: 출발 시간 계산 로직 구현 Co-authored-by: coli-geonwoo <[email protected]> * feat: 소요 시간 계산 API 에러 핸들링 * fix: 커밋되지 않은 response 클래스 추가 * chore: 불필요한 build.gradle 구문 삭제 * refactor: 변수 선언문 try 내부로 이동 * refactor: 중첩된 로직 별도 변수로 추출 * refactor: 축약된 exception 변수명 수정 * refactor: 소요시간 VO 이름 수정, Odsay api response 객체 이름 수정 * refactor: URI 생성 시 StringBuilder 적용 --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: mzeong <[email protected]> * feat: 스낵바 위치 변경 및 showSnackBar 형식 통일 (#116) * feat: 로그 목록 조회 (#87) * chore: dto 디렉토리 변경 request > response * feat: NotificationRepository 구현 * feat: dto 변환로직 구현 * feat: notificationService 구현 * style: 컨벤션 준수 * docs: test용 yml파일 추가 * refactor: notification 생성자 추가 * test: 로그 목록 반환 테스트 작성 * refactor: domain to dto 계층 이동 * refactor: method 이름 수정 * test: 로그 목록 조회 통합 테스트 추가 * style: new-line 추가 * chore: 로그 목록 반환 메서드 이동 NotificationController > MeetingController * chore: 메서드 명 일치화 findAllMeetingLogsById > findAllMeetingLogs * chore: domain to dto 메서드명 변경 toResponse > from * refactor: auditing config 분리 * chore: dto 명 변경 NotificationSaveResponse > NotiLogFindResponse NotiLogFindResponse > NotiLogFindResponses * chore: 테스트 디렉토리 이동 * style: 불필요한 import문 제거 * chore: 디렉토리 변경 * Revert "chore: 디렉토리 변경" This reverts commit c1b9f595357b999fe4aac325d460246ab3e8cb91. --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: mzeong <[email protected]> * feat: CI/CD 스크립트 분리 (#126) * chore: ci/cd script 분리 * chore: cd 스크립트 수정 --------- Co-authored-by: coli-geonwoo <[email protected]> * feat: 모임 개설 기능 추가 (#121) * style: 한 줄에 하나의 점만 찍는다. 컨벤션 적용 * refactor: 변경된 클래스명으로 getter 네이밍 수정 * chore: 초대코드생성기 util 패키지로 이동 * feat: 모임 개설 API 기능 추가 * feat: 회원 추가 API 기능 추가 * refactor: 변경된 firebase 엑세스 키 파일 위치로 경로 수정 * feat: DB 테이블 삭제 클래스 추가 * test: 컨트롤러 테스트 추가 * refactor: 서브 모듈 패키지 변경 사항 추가 * refactor: 초대코드 디코딩하여 모임방 조회 적용 * refactor: entityManger 의존성 주입 추가 * fix: 회원 생성, 모임 참여 API 오류 수정 (#127) * fix: deviceToken unique, notnull 속성 적용 * fix: deviceToken 공백 검증 로직 적용 * style: import 재정렬 * feat: deviceToken 문자열 앞뒤 공백 제거 로직 추가 * refactor: findDeviceToken 쿼리 성능 개선 * feat: 회원 생성시 토큰 중복 검사 추가 * feat: mate 테이블의 memberId, meetingId unique 설정 * feat: 모임 참여시 중복 검증 로직 추가 * refactor: 모임 개설시 mate에도 회원 정보 저장 * refactor: DeviceToken NotNull 제약 조건 추가 --------- Co-authored-by: eun-byeol <[email protected]> * feat: 모임 내 닉네임 중복 검증 (#119) * feat: 초대코드 검증 API 추가 (#123) * feat: 초대코드 검증 API 추가 * feat: 404를 반환하는 커스텀 예외 추가 * test: 404 오류를 검증하는 테스트로 변경 * feat: 모임 개설 서버 연결 (#131) * feat: 모임 개설 service, request, response 구현 * feat: MeetingRepository에 postMeeting 메서드 추가 * feat: meeting response 전달 및 초대 코드 저장 구현 * feat: 특정 회원이 참여한 모임 목록 조회 API 구현 (#129) * feat: 멤버가 참여한 모임 리스트 반환 쿼리 구현 * feat: 멤버가 참여한 모임 리스트 반환 기능 구현 * feat: token fixture 추가 * style: static import 제거 * test: 멤버 참여 모임 목록 조회 통합 테스트 추가 * test: NotificationRepositoryTest directory 이동 * test: 간섭 발생 테스트 disabled 처리 * fix: test 오류 개선 * fix: import 오류 해결 --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: mzeong <[email protected]> Co-authored-by: eun-byeol <[email protected]> * feat: 다음 버튼 비활성화 시 뷰페이저 스와이프 막는 기능 구현 (#122) * refactor: LivaData set value 방식 변경 * feat: 모임 개설 시 뷰페이저 스와이프 막는 기능 구현 * feat: 뷰페이저 화면 이동 시 유효성 검증 기능 구현 * style: ktLint 적용 * fix: 모임 시간 유효하지 않아도 다음 페이지로 이동하는 버그 수정 * chore: nextPage -> moveOnNextPage 함수명 변경 * feat: 모임 개설 시 개설 완료 화면으로 이동하는 기능 구현 * feat: Notification 구현 (#128) * feat: Notification 메시지 바로 출력 * chore: 의존성 추가 * fix: 경로 변경에 의한 import 변경 * feat: 알림 타입에 따른 알림 메시지 변경 * feat: fcm을 위한 string 작성 * feat: 알림 로그 화면에 bottom dialog 적용 (#130) * chore: domain 패키지 정리 * chore: 리스너 이름 변경 * feat: meeting domain model에 초대코드 추가 * feat: NotificationLogActivity에 bottom sheet 기능 병합 * refactor: FakeRepo에서 DefaultRepo로 변경 * design: elevation 수정 * fix: app 네임스페이스 추가 * fix: manifest 수정 * refactor: FCM 전송 데이터 안드로이드 요청사항 반영 (#136) * fix: 실패하는 테스트 수 (#137) * fix: 초대 코드 입력 성공 시 참여 화면으로 이동하도록 수정 (#133) * feat: 모임 개설 api 연결 (#139) * feat: 모임 개설 service, request, response 구현 * feat: MeetingRepository에 postMeeting 메서드 추가 * feat: meeting response 전달 및 초대 코드 저장 구현 * chore: okhttp logging 의존성 추가 * chore: Http Logging 추가 * chore: 오타 수정 * feat: MeetingService postMeeting 추가 * chore: Timber 메시지 수정 * chore: 키에 맞는 인텐트로 변경 * feat: 모임 개설 api 연결 * feat: 커스텀 예외 생성 및 적용 (#140) * feat: 커스텀 예외 생성 및 적용 * fix: fcmPushSender MockBean 추가 * fix: 테스트 실패 원인 파악 및 성공을 위해 `@Disabled` 처리 - NotificationService 내에서 RouteClient 접근해서 문제 발생 * feat: 모임 참여 서버 연결 (#143) * feat: 서버 참여 api 연결 * style: ktlint 수정 * chore: 메서드 분리 및 메서드 한줄로 변경 * feat: 참여중인 모임 목록 조회 (#142) * feat: 참여한 모임이 있을 경우 첫 번째 모임에 참여, 아닐 경우 인트로 화면으로 이동하는 기능 구형 * feat: 참여한 모임 중 첫 번째 모임의 로그를 띄워주는 기능 구현 * refactor: 리뷰 반영 * fix: 자잘한 ux 버그 다수 수정 (#145) * fix: import 오류 수정 * fix: NumberPicker 디폴트 값이 현재 시간으로 설정되지 않는 버그 수정 * fix: 주소 EditText 한줄만 입력할 수 있도록 수정 * fix: 유효한 날짜 선택 시에도 유효하지 않다는 스낵바 뜨는 버그 수정 * fix: 닉네임 입력 화면으로 이동 시 화면 깜빡임 현상 수정 * fix: back press 시 이전 fragment로 이동하도록 수정 * style: ktLint 적용 * design: 바텀 시트 stroke 제거 및 elevation 추가 * feat: EC2 서버의 H2 콘솔 접근 설정 및 누락된 모임장 알림 로직 추가 (#146) * chore: EC2 서버의 H2 콘솔 접근을 위한 설정 추가 * fix: 모임 참여 API에서 누락된 알림 로직 추가 * fix: ODsay 사용하는 테스트 코드 Disabled 처리 * fix: ODsay 사용하는 MeetingControllerTest 코드 Disabled 처리 --------- Co-authored-by: H <[email protected]> * fix: FCM 토픽 Malformed topic name 에러 해결 (#149) * fix: FCM 토픽 Malformed topic name 에러 해결 (#151) * fix: FCM 토픽 Malformed topic name 에러 해결 * fix: FCM 토픽 Malformed topic name 에러 해결 * fix: 의도하지 않은 값이 토픽에 들어간 코드 수정 (#153) * fix: 로그 화면 버그 해결 (#157) * fix: 로그 화면 데이터 mapping 버그 수정 * design: 로그 화면 그림자 drawable 수정 * fix: LocalDateTime mapping 방식 수정 * design: 로그 화면 툴바의 뒤로가기 버튼 제거 * fix: fcm 토큰 없는 경우 meetings를 불러오지 않도록 수정 * style: ktLint 적용 * chore: Meetings -> MeetingsResponse 클래스명 변경 * fix: LocalDateTime mapping 오류 해결 * fix: 클립보드 복사 시 스낵바 제거 * fix: LocalDateTime mapping 오류 해결 * fix: 로그 화면으로 이동 시 깜빡이는 현상 해결 * refactor: 리뷰 반영 * fix: CalendarView -> DatePicker로 변경하여 날짜 선택 불가 버그 수정 (#155) * �feat: 로그 목록 조회 시 과거순 정렬 (#144) * refactor: 아규먼트 리졸버 어노테이션 적용 * refactor: 데이터베이스에 데이터 추가 순으로 알림 로그 정렬 * test: 모임 반환 테스트 오류 해결 * refactor: 현재 이전의 로그 목록을 조회하도록 수정 * refactor: NotiLog 바인딩 수정 createdAt > sendAt * refactor: 불필요한 레코드 삭제 * refactor: LocalTime 밀리 세컨즈 제거 * test: 로그 필터링 적용 테스트 작성 --------- Co-authored-by: coli-geonwoo <[email protected]> * fix: 알림 전송 예약 시점이 아닌 전송 시점에 상태 변경되도록 수정 (#162) - FcmSendRequest 매개변수 변경 - updateDone -> updateStatusToDone 메서드명 변경 - 시연을 위해 알림 전송 시간 임의 지정 - FcmSendRequest 매개변수 변경에 따른 테스트 코드 수정 * feat: 초대코드 존재유무 검증로직 구현 (#164) * feat: 초대코드 존재유무 검증로직 구현 * refactor: id 기반 모임 조회로 로직 변경 --------- Co-authored-by: coli-geonwoo <[email protected]> * feat: 모임 입장 시 ENTRY 알림 저장, 전송 (#165) * chore: RequestDto 패키지 위치 이동 * style: 컨트롤러 컨벤션 개행 적용 * feat: 모임 입장 시 ENTRY 알림 저장, 전송 기능 추가 * refactor: 알림 전송 코드 개선 * refactor: 본인의 입장 푸쉬 알림은 안뜨도록 fcm 토픽 구독 순서 변경 * fix: 스플래쉬 딜레이 수정 (#163) * fix: 스플래쉬 delay 수정 * fix: LocalDateTime parse 형식 수정 * style: ktLint 적용 * refactor: 패키지 구조 변경 (#174) * 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 속성 제거 (#184) * refactor: manifest tools 속성 제거 * feat: SingleLiveData 추가 * refactor: Event -> SingleLiveData 변경 * style: ktLint 적용 * test: RouteClient Mock 테스트 (#177) * 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 설정 제거 * refactor: Event -> SingleLiveData로 개선 (#185) * feat: SingleLiveData 추가 * refactor: Event -> SingleLiveData 변경 * style: ktLint 적용 * chore: open 키워드 제거 * refactor: 모임 날짜를 LocalDate로 관리 (#186) * 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: fcm 토큰 새로운 토큰 발급 시 repository에 저장 (#193) * refactor: 2차 스프린트 구현 사항 리팩터링 (#189) * 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 응답 분기를 객체로 캡슐화 (#188) * 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: 폰트, 컬러 xml 지정 (#219) * design: font 스타일 추가 * design: colors 네이밍 변경 * design: 컬러 추가 * refactor: 2차 스프린트 리팩터링 (#196) * 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: 2차 스프린트 구현 사항 리팩터링 (#218) * 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 반환하도록 수정 (#181) * 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]> * refactor: BaseActivity, BaseFragment (#220) * 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: 서비스 소개글 작성 (#242) * docs: 약속 참여 API 문서화 (#246) * docs: 404에러 문서화를 위한 커스텀 어노테이션 추가 * docs: Swagger 회원 참여 API 문서화 * refactor: AliasFor 어노테이션으로 ApiResponse 속성값 매핑 * refactor: api url 버전명 추가 * feat: 기존의 /mates 요청 메서드 추가 * docs: 약속 단건 조회 API 문서화 (#245) * docs: 약속 참여자 상태 목록 조회 API 문서화� (#243) * 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]> * docs: 약속 개설 API 문서화 (#249) * 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]> * refactor : 약속 개설 API 구현 (#250) * 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]> * design: 로그 화면 뷰 디자인 (#248) * 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: 유저 현황 화면 디자인 (#252) * design: 유저 위치 현황 화면 item 디자인 구현 * design: xml 파일명 수정 * feat: 로그 툴바에 뒤로가기 버튼 추가 * design: 유저 현황 화면 구현 * chore: string resource 이름 변경 * fix: 뱃지 중앙 정렬되지 않는 현상 수정 * refactor: layoutManager xml로 이동 * chore: meeting room 패키지 구조 변경 * feat: manifest에 현황 화면 추가 * chore: eta -> etadashboard 패키지명 변경 * style: ktLint 적용 * refactor: 모임 개설, 참여 api 분리하기 (#255) * refactor: 약속 개설 v1 api에 맞게 요청/응답 데이터 수정 * refactor: 약속 참여 v1 api에 맞게 요청/응답 데이터 수정 * refactor: 약속 참여/개설 뷰모델 분리 * fix: MeetingResponse mapping 버그 수정 * fix: 약속 참여로 이동하지 않는 버그 수정 * fix: 모임 참여 시 유효성 검증 제대로 되지 않는 버그 수정 * style: ktLint 적용 * chore: startingPoint -> departure 프로퍼티명 변경 * chore: 쓰이지 않는 indicator 제거 * design: 홈 화면 리스트 디자인 (#260) * design: 홈 화면 리스트 디자인 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * feat: 유저 현황 화면 api v1 연결 (#261) * feat: 유저 위치 현황 api dto 구현 Co-authored-by: haeum808 <[email protected]> * feat: 유저 위치 현황 Repository 구현 Co-authored-by: haeum808 <[email protected]> * style: ktLint 적용 Co-authored-by: haeum808 <[email protected]> --------- Co-authored-by: haeum808 <[email protected]> * feat: 약속 참여 V1 API 구현 (#247) * docs: 404에러 문서화를 위한 커스텀 어노테이션 추가 * docs: Swagger 회원 참여 API 문서화 * refactor: AliasFor 어노테이션으로 ApiResponse 속성값 매핑 * refactor: api url 버전명 추가 * feat: 기존의 /mates 요청 메서드 추가 * feat: 약속 참여 v1 API 구현 * style: 코드 컨벤션 적용 * chore: mate 패키지로 이동 * feat: 참여자 저장 응답 DTO 추가 및 지원하지 않는 메서드 제거 * docs: 리스트 형식 데이터를 @ArraySchema 사용해 표시 * refactor: 지원하지 않는 meeting 메서드 제거 * design: 홈 화면 리스트 없는 경우 디자인 (#262) * design: 모임이 없을 때 보이는 화면 * chore: 불필요한 코드 삭제 * fix: FakeMeetingRepository postMeeting 반환 값 수정 * style: ktlint * design: 홈 화면 플로팅 버튼 디자인 (#263) * chore: 하얀색 취소, 더하기 아이콘 추가 * design: 홈 화면 플로팅 버튼 디자인 * fix: FakeMeetingRepository postMeeting 반환 값 수정 * style: ktlint * fix: FakeMeetingRepository patchMatesEta 추가 * feat: 유저 현황 화면 리스트 어댑터 구현 (#265) * feat: Eta item에 대한 uiModel 구현 * feat: adapter 구현 및 데이터 바인딩 연결 * style: ktLint 적용 * refactor: 함수 분리 * feat: 위치 권한 팝업 띄우는 로직 구현 * refactor: missing tooltip 리스너를 바인딩 어댑터로 분리 * style: ktLint 적용 * refactor: Pair 대신 Point 객체 사용 * refactor: magic number 제거 및 DurationMinuteType 구현 * style: ktLint 적용 * feat: 내 약속 목록 조회 API 문서화 및 구현 (#251) * feat: 내 약속 목록 조회 API 문서화 - Swagger 문서화 코드 추가 및 이전 버전 API deprecated 설정 - 컨트롤러 단에 임시 반환을 위한 더미 데이터 추가 - 응답을 위한 dto 생성 및 문서를 위한 예시와 설명 추가 * feat: 내 약속 목록 조회 API * fix: fixture 객체 사용에 따른 unique 제약 조건 위반 코드 제거 * fix: cherry-pick 시 누락된 코드 추가 및 fixture member 객체 미사용 코드로 수 * fix: meetingService, mateService 순환 참조 해결 * fix: fixture meeting 객체 사용에 따른 unique 제약조건 위반 * refactor: `saveAndSendNotifications` 호출하는 MeetingService 메서드명 수정 * refactor: `findByMeetingAndMember` 메서드 제거 및 해당 로직 meetingService 내에서 직접 수행 * fix: 모임 구독 시 실패 * refactor: 약속 인원 수, 메이트로 응답 생성 로직 메서드 분리 * fix: 시간 데이터 초 제거 후 반환하도록 수정 (#270) * refactor: v1/mates 응답값 수정 (#268) * refactor: 모임 참여 시 응답 데이터 수정 * refactor: 모임 참여 시 응답 데이터 수정 * feat: LocalTime의 ss 제거 * feat: 플로팅 버튼 화면 이동 구현 (#271) * feat: 플로팅 버튼 눌러서 이동하는 로직 구현 * fix: 약속 참여 벼튼을 눌럿을 때 초대 코드 입력 화면으로 이동 * refactor: 함수 한줄로 변경 * feat: 홈 화면 리스트 어댑터 구현 (#272) * feat: ListAdapter 구현 * feat: item fold 구현 * feat: 약속 시간 바인딩 어댑터 * feat: 쓰이지 않는 리스트 제거 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * feat: 폴링 방식 스케줄링 구현 (#274) * config: WorkManager 의존성 추가 Co-authored-by: haeum808 <[email protected]> * feat: WorkManager 작업 예약할 Worker 구현 Co-authored-by: haeum808 <[email protected]> * feat: 작업 예약 하는 로직을 가진 Repository 추가 Co-authored-by: haeum808 <[email protected]> * feat: 약속 참여 시 31번 작업 예약하는 기능 구현 Co-authored-by: haeum808 <[email protected]> * feat: 유저 현황 화면에서 데이터 LiveData 받아오는 기능 구현 Co-authored-by: haeum808 <[email protected]> * style: ktLint 적용 Co-authored-by: haeum808 <[email protected]> * refactor: WorkRequest 생성하는 로직을 Worker로 이동 * refactor: 함수 분리 및 상수화 * feat: meetingId 전달하는 로직 구현 Co-authored-by: haeum808 <[email protected]> * fix: 코루틴 캔슬되는 오류 수정 Co-authored-by: haeum808 <[email protected]> --------- Co-authored-by: haeum808 <[email protected]> * refactor: 약속 단건 조회 API 구현 (#256) * refactor: mates 필드 @ArraySchema로 수정 * refactor: ErrorCode404 어노테이션으로 수정 * feat: 날짜, 시간 JsonFormat 적용 * feat: 회원이 참여하고 있는 특정 약속의 참여자 리스트 조회 * test: 약속에 참여하고 있는 회원이 아니면 예외 발생 * feat: 약속과 참여자들 정보 조회 * test: 약속 조회 시, 약속이 존재하지 않으면 예외 발생 * refactor: meetingId primitive type으로 변경 * refactor: JsonFormat 불필요한 옵션 제거 * test: Fixture.MATE 제거 * fix: import 추가 * fix: 머지 과정에서 누락된 코드 추가 --------- Co-authored-by: mzeong <[email protected]> * feat: 위치 권한 받아오는 기능 구현 (#276) * config: play service gms 의존성 추가 * chore: 위치 권한 메니페스트에 추가 * feat: 위치 권한 요청 기능 구현 * style: ktlint * refactor: 코드리뷰 반영 * fix: ImageView에 제약 걸기 * fix: 깃액셔 문제 * feat: 약속 목록 조회 api 연결 (#279) * feat: meetings/me api 연결 * feat: 시작 화면 변경, FloatingButton 통합 * feat: 시작 화면 변경, FloatingButton 통합 * refactor: 리뷰 반영 * feat: 로그 화면으로 navigate * fix: ciˆ * refactor: 리뷰 반영 * feat: 단일 약속 api 연결 (#281) * feat: 단일 약속 api 연결 * feat: 24시간 내 로그화면 이동 활성화/ 이외 비활성화 * fix: 안내 메시지 수정 * refactor: 리뷰 반영 * feat: gps 위경도 받아오는 기능 구현 (#282) * feat: 위치 경도 불러오는 기능 구현 * chore: log 제거 및 compress 메서드 추가 * feat: repository에서 compress 하게 변경 * style: ktlint * chore: 0..8 상수화 * refactor: 퍼미션 체크 함수화 * style: ktlint * chore: 함수 간소화 * chore: repository 요청 함수 분리 * chore: 한 줄로 변경 * feat: 약속 참여자 상태 목록 조회 API 기능 구현 (#277) * feat: 직선 거리 계산 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * feat: 조건별 참여자 상태 반환 기능 추가 Co-authored-by: coli-geonwoo <[email protected]> * feat: 참여자가 약속 참여시 최초로 Eta 저장 기능 추가 * refactor: 소요시간 출발시간 로직 분리 * feat: Eta, Mate 관련 DTO 추가 * refactor: 예상소요시간 필드 추가 * feat: 참여자 Eta 목록 반환기능 구현 * fix: Fixture 사용 개선으로 코드 오류 개선 * test: Eta Test 추가 * test: eta 테스트 추가 * refactor: service 로직 경량화 * refactor: 가독성 개선 * style: Fixture 변수 재할당 * feat: eta 목록 조회 컨트롤러 코드 추가 * fix: backend 패키지 하위 변경만 커밋 내역에 포 * refactor: 중복 Eta dto 제거 --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: mzeong <[email protected]> * refactor: 유저 위치 현황 조회 시 자신의 닉네임 response로 받도록 수정 (#284) * refactor: 서버 응답에 자기자신의 닉네임 추가 Co-authored-by: eun-byeol <[email protected]> * fix: 직렬화, 역직렬화 오류 수정 * style: ktLint 적용 * style: ktLint 적용 * style: ktLint 적용 * fix: 빌드 오류 수정 * style: ktLint 적용 --------- Co-authored-by: eun-byeol <[email protected]> * fix: update 미반영 오류 문제 해결 (#287) * refactor: HomeActivity -> MeetingsActivity로 이름 변경 (#291) * refactor: HomeActivity -> MeetingsActivity로 이름 변경 * refactor: 기타 home 제거 * style: ktLintFormatˆ * fix: 유저 현황표 폴링 방식 수정 (#292) * refactor: 폴링 간격 수정 Co-authored-by: haeum808 <[email protected]> * refactor: 가장 최신의 데이터를 observe하도록 수정 Co-authored-by: haeum808 <[email protected]> --------- Co-authored-by: haeum808 <[email protected]> * refactor: 데모데이 이슈 문제 해결 (#293) * refactor: 현재 위치로 소요시간 계산하도록 수정 * refactor: 참여자의 현재 위도 경도 null 처리 * refactor: 도착 상태에 따른 소요시간 반환 * refactor: etaService를 MeetingController가 의존하도록 변경 * refactor: 곧도착 조건 로직 메서드로 분리 * feat: 현황 화면 툴바 리스너 등록 (#304) * feat: 현황 화면 툴바 리스너 구현 * feat: 툴바에 모임 이름 전달하는 코드 추가 * feat: 초대 코드 입력에서 다른 화면으로 이동할 때 초대 코드 입력 화면 finish() (#305) * fix: 리스트 깜빡임 현상 해결 (#306) * fix: 리스트 깜빡임 현상 해결 * refactor: 아이템 애니메이션 제거 코드를 xml로 이동 * fix: 개설하기에서 뒤로가기 버튼 누르면 현 화면 없애기 및 오디 캐릭터 추가 (#301) * fix: 개설하기에서 뒤로가기 버튼 누르면 finish() * fix: 개설하기, 참여하기 후 돌아오면 메뉴 닫기 * style: ktlint * chore: 오디 캐릭터들 추가 * design: 약속 없을 때 오디 캐릭터 추가 * design: 약속 만들었을 때 오디 캐릭터 추가 * design: 약속 참여 했을 때 오디 캐릭터 추가 * chore: BindingAdapter 사용으로 변경 * chore: BindingAdapter 사용으로 변경 * test: 2차 스프린트 구현 사항 테스트 (#308) * config: 테스트 관련 의존성 추가 * test: 초대 코드 입력 화면 ui 테스트 구현 * test: 주소 유효성 검증 테스트 구현 * config: 프래그먼트 테스트를 위한 의존성 추가 * test: 약속 이름 입력 화면 테스트 구현 * test: 약속 이름 입력 테스트 수정 및 패키지 이동 * test: 닉네임 입력 화면 테스트 구현 * refactor: typeText -> replaceText로 변경 * chore: 불필요한 테스트 제거 * style: given/when/then 작성 * fix: unitTest 실행되지 않는 현상 해결 * feat: 로그에서 30분전이면 오디 버튼이 아예 안뜨게 구현 (#309) * fix: 약속 로그 관련 수정 사항 (#314) * fix: 로그 list가 깜빡이는 문제, 그림자가 listitem을 덮지 않는 문제 해결 * Update android/app/src/main/res/layout/activity_notification_log.xml Co-authored-by: kimhm0728 <[email protected]> --------- Co-authored-by: kimhm0728 <[email protected]> * feat: 내 약속 목록 조회 시 현재 이후 약속만 조회 (#302) * feat: 약속 시간을 기준으로 내 약속 목록 필터링 * fix: 24시간 전 약속도 포함되도록 수정 * fix: meeting fixture를 사용하지 않도록 코드 수정 * �test: DisplayName 설명 구체화 Co-authored-by: eun-byeol <[email protected]> * refactor: 테스트 안정성을 위해 LocalDateTime 변수로 선언 후 사용 * rafactor: 시간 비교 코드 수정 Co-authored-by: coli-geonwoo <[email protected]> --------- Co-authored-by: eun-byeol <[email protected]> Co-authored-by: coli-geonwoo <[email protected]> * fix: 약속 리스트 관련 수정 사항 (#315) * refactor: 디자인 수정 및 클릭 위에 따른 navigation과 fold 수정, 깜빡임 수정 * refactor: 비활성화된 오디 버튼 클릭 시 표시 메시지 변경 * refactor: 리뷰 반영 * refactor: 리뷰 반영 * �fix: 행방불명상태의 소요시간 응답 오류 해결 (#317) * refactor: isMissing 소요시간 반환 로직 추가 * refactor: 저장 및 업데이트 시점에 나노초 제거, createAt 변경 방지 옵션 추가 * refactor: prePersist 기능 사용 롤백 * test: isModified 테스트 오류 수정 * fix: 해방불명 오류 해결 (#320) * fix: 해결되지 않은 행방불명 오류 해결 (#323) * fix: compress 메서드 수정, gps 온오프 확인 (#321) * fix: compress 메서드 좌표 길이에 상관없이 안전하게 자르게 변경 * fix: 유저가 gps 껐는지 확인하는 로직 추가 * style: ktlint * style: ktlint * fix: 도착한 상태인 사람의 소요시간이 -1로 반환되고 있는 문제 해결 (#325) * fix: 확장 버튼 패딩 20dp 주기 (#329) * fix: 로그에서 오디? 버튼이 30분 전부터 계속 보이게 변경 (#327) * fix: 로그 화면에서 null이 잠깐 나타났다 사라지는 뷰 수정 (#332) * design: 초대 코드 item과 모임 정보 칸과의 간격을 늘림 (#334) * feat: 안드로이드 로깅 환경 구축 (#337) * feat: Analytics 기초 구현 * config: firebase crashlytics 의존성 추가 * feat: 네트워크 로깅 확장 함수 추가 * feat: 네트워크 로깅 구현 * feat: 약속 리스트 -> ETA 현황, 약속 방 -> ETA 현황 이동 버튼에 로그 추가 * feat: bindingFragment 체류시간, 이탈 시점 추적 로그 * style: ktLintFormat * fix: rollback --------- Co-authored-by: kimhyemin <[email protected]> * feat: EtaDashboardViewModelTest 구현 (#338) * config: coroutine test 의존성 추가 * feat: FakeMatesEtaRepository 추가 * feat: ViewModel 테스트를 위한 클래스들 추가 * feat: EtaDashBoardViewModelTest 추가 * style: ktlint * chore: given, when, then 형식 추가 * fix: 로그 화면 닉네임들 길어지면 안보이는 버그 수정 (#341) * feat: 닉네임 길면 스크롤 되게 변경 * style: xml 코드 reformat code * refactor: response. requset api 순서에 맞게 맞추기, 패키지 위치 수정 (#340) * chore: MateEtaInfoResponse 위치 변경 * chore: 패키지 위치 변경 및 api 순서에 맞게 변경 * docs: test coverage report 스크립트 추가 (#254) * docs: test coverage report 스크립트 추가 * docs : 테스트 커버리지 워크플로우 추가 --------- Co-authored-by: coli-geonwoo <[email protected]> * refactor : 나노초 제거를 직렬화 도구로 수행 (#303) * refactor: 시간 형식을 직렬화 도구로 통일 * style: 컨벤션 준수 * style: 첫번째 행 개행 추가 * test: 직렬화 도구 테스트 추가 * test: 테스트 검증 스트림으로 수정 --------- Co-authored-by: coli-geonwoo <[email protected]> * refactor: 시간 비교 로직에서 초/나노초 단위 trim (#346) * refactor: 나노초/초 제거를 util 클래스로 수행 * style: 불필요한 import 문 삭제 * test: 24시간 이내 판단로직 테스트 오류 개선 * chore: 메서드명 변경 trim > trimSecondsAndNanos --------- Co-authored-by: coli-geonwoo <[email protected]> * �refactor: EtaStatus 매핑 로직 개선 및 테스트 코드 추가 (#351) * refactor: calculate()인자로 Location 타입을 받도록 수정 * refactor: eta 로직 가독성 개선 * refactor: eta 테이블에 isMissing 컬럼 추가 * test: Eta 예외 상황 테스트 추가 * refactor: 조건식 검증 순서 변경 * test: 테스트 코드 축약 --------- Co-authored-by: coli-geonwoo <[email protected]> * config: 앱 출시를 위한 수정 (#350) * config: VERSION.1_8 -> VERSION_17 * config: versionCode 1 -> versionCode 4 * config: ad id에 대한 설정 무시하게 설정 * config: parcelize, kapt, crashlytics 버전 카탈로그에 맞게 변경 (#353) * refactor: 권한 체크, 권한 요청 분리 (#347) * refactor: PermissionHelper에 위치, 알림 권한 체크하는 로직 추가 * refactor: PermissionHelper에 위치, 알림 권한 체크하는 로직 추가 * refactor: coarse, fine location 권힌이 허용되면 백그라운드 location 요청하게 변경 * refactor: PermissionHelper에 권한 요청하는 로직 추가 * style: ktlint * refactor: 함수화 * refactor: 메서드 네이밍 변경 * style: ktlint * style: ktlint * refactor: 불필요한 코드 삭제 * refactor: requires API 어노테이션 삭제 * feat: 서버 응답 400, 500번대 예외 처리 (#359) * feat: ApiResultCallAdapter 구현 * feat: fetchMeetingCatalog2ˆ * feat: sample error handlingˆ * chore: renamed packageˆ * refactor: call adapter의 response type private로 변경 * test: FakeMeetingRepository 메서드 구현 * refactor: 네트워크 에러 시 출력 메시지 수정 * refactor: body null 체크 * chore: 패키지 변경 data -> domain * refactor: 서버 에러 리턴시 에러 메시지 파라미터 이름 변경 error -> errorMessageˆ * refactor: Extension의 람다 이름 변경, func -> blockˆ * refactor: nullable 포함 * refactor: sealed interface로 변경 * refactor: FakeMeetingRepository listOf() -> emptyList()로 변경 * refactor: ApiResultCall execute 미지원 메시지 한글로 변경 * refactor: 로깅 관련 코드 리팩터링 (#361) * feat: 로깅 인터페이스 및 구현체 구현 * refactor: 기존 firebaseAnalytics를 추상화한 객체로 수정 * style: ktLint 적용 * refactor: 기존 firebaseAnalytics를 추상화한 객체로 수정 * chore: 로깅 프레임워크 적용 및 모니터링 대시보드 구성 (#348) * chore: docker run 시에 volume 설정 추가 Co-authored-by: mzeong <[email protected]> * chore: 불필요한 env 제거 Co-authored-by: mzeong <[email protected]> * chore: 로그 파일 생성을 위해 Logback 설정 Co-authored-by: eun-byeol <[email protected]> * chore: commons-logging 제외 Co-authored-by: eun-byeol <[email protected]> * feat: exceptionHandler, interceptor 로그 추가 Co-authored-by: eun-byeol <[email protected]> * chore: backend cd 스크립트 push 브랜치 수정 Co-authored-by: mzeong <[email protected]> * chore: backend cd 스크립트 docker volume 수정 Co-authored-by: mzeong <[email protected]> * chore: 로그 파일 gitignore에 추가 Co-authored-by: eun-byeol <[email protected]> * chore: amount path 절대 경로로 수정 Co-authored-by: mzeong <[email protected]> * chore: 로그 파일 절대 경로로 수정 Co-authored-by: eun-byeol <[email protected]> * chore: 현재 작업중인 브랜치로 checkout하도록 임시 수정 Co-authored-by: mzeong <[email protected]> * chore: profile에 따라 파일 경로 변경 Co-authored-by: eun-byeol <[email protected]> * chore: 푸시 시 배포 적용되는 브랜치 수정 Co-authored-by: eun-byeol <[email protected]> * chore: interceptor에서 request body 로그 출력 - wrapper, filter 생성 Co-authored-by: eun-byeol <[email protected]> * chore: interceptor에서 response body 로그 출력 - wrapper 생성 Co-authored-by: eun-byeol <[email protected]> * chore: 로그 개행 제거, 정상 요청에 대한 response body 로그 추가 Co-authored-by: eun-byeol <[email protected]> * chore: ContentCachingResponseWrapper 사용해 response body 로그 추가 Co-authored-by: eun-byeol <[email protected]> * chore: ContentCachingRequestWrapper 사용해 request body 로그 추가 Co-authored-by: eun-byeol <[email protected]> * chore: cd workflow trigger 이벤트 수정 Co-authored-by: mzeong <[email protected]> --------- Co-authored-by: eun-byeol <[email protected]> * refactor: 현황 화면과 로그 화면을 하나의 activity로 관리 (#365) * refactor: 액티비티 xml 파일 추가 및 프래그먼트로 변경 * refactor: 로그, 현황 화면의 viewModel 제거, 하나로 합치기 * refactor: 현황 화면의 툴바, 복사 로직을 액티비티로 이동 * refactor: 로그 화면의 툴바, 복사 로직을 액티비티로 이동 * feat: 프래그먼트 화면 전환 로직 구현 * chore: eta -> etaDashboard, room -> notificationLog 함수명 변경 * style: ktLint 적용 * feat: 뒤로 가기 버튼 누르면 백스택 삭제하는 로직 구현 * test: 리팩터링에 따른 테스트 수정 * style: ktLint 적용 * design: 툴바 폰트 크기 줄이기 (#389) * fix: 정확한 위치 가져오게 getCurrentLocation로 변경 (#390) * feat: 약속 참여자 ETA 조회 시, 수도권 외 지역 예외처리 (#368) * feat: 커스텀 어노테이션으로 수도권 위경도 좌표 검증 로직 구현 * feat: 수도권 위경도 좌표 검증 로직 Request Dto에 적용 * test: 수도권 위경도 좌표 검증 테스트 코드 가독성 개선 * refactor: 불필요한 괄호 제거 * refactor: 변수명 수정 * fix: 컨트롤러에서 @SupportRegion 로직 타지 않는 문제 해결 * design: 로그인 화면 디자인 (#388) * design: 로그인 화면 디자인 * design: 올바른 해상도 이미지로 변경 * design: 쓰이지 않는 이미지 제거 * refactor: 리뷰 반영 * design: 로그인 이미지 뷰에서 scaletype 삭제 * test: InviteCodeViewModel 테스트 (#392) * test: SingleLiveData를 위한 getOrAwaitValue와 SingleLiveData가 한 번 Handled 되었는지 알기 위한 getIfHandled 구형 * test: checkInviteCode() 테스트 구현 * test: FakeAnalyticsHelper logEvent의 리턴 Unit으로 변경 * test: 리뷰 반영 * fix: 동일한 topic을 구독하여 참여하지 않은 메이트의 알림 받음 (#367) * refactor: 생성일시도 포함하여 주제 구독 - FcmTopic 객체에서 2)약속 아이디, 생성일시로 2)형식에 부합하는 주제 생성 - FcmSendRequest 필드로 FcmTopic 사용하여 잘못된 주제로 구독되는 것 방지 - 로그 메세지 상세화 * style: 어노테이션 순서 정렬 Co-authored-by: eun-byeol <[email protected]> * refactor: 가독성 향상을 위해 `StringBuilder` 대신 `+` 사용 Co-authored-by: eun-byeol <[email protected]> * refactor: 부 생성자, 주 생성자 순으로 정렬 Co-authored-by: eun-byeol <[email protected]> * refactor: `Meeting`이 `FcmTopic`을 모르도록 코드 수정 --------- Co-authored-by: eun-byeol <[email protected]> * test: 3차 스프린트 구현 사항 테스트 (#396) * test: MeetingJoinViewModel 테스트 작성 * test: AddressSearchViewModel 테스트 작성 * test: MeetingJoinViewModel given/when/then 순서 수정 * test: MeetingCreationViewModel 테스트 작성 * style: ktLint 적용 * refactor: FakeRepository의 반환값을 테스트 픽스처로 분리 * test: MeetingRoomViewModel의 로그 관련 함수 테스트 작성 * refactor: mapper 함수 타입 변경 * refactor: 프로퍼티 타입 변경 및 테스트 픽스처 분리 * style: ktLint 적용 * refactor: 테스트 픽스처 데이터 수정 * test: 약속 날짜를 오늘 날짜로 선택했을 때의 테스트 추가 * chore: 불필요한 코드 삭제 * test: MeetingsViewModel 테스트 작성 (#398) * test: MeetingsViewModel 테스트 작성 * refactor: meetingsViewModel 한 줄 메서드들 줄바꿈 후 중괄호 삽입 * refactor: Fixture 적용, MeetingCatalog -> MeetingCatalogUiModel 매핑 메서드명 수정 * chore: 뷰모델 테스트 패키지 변경 (#403) * design: 현황 화면 뱃지 애니메이션 추가 (#401) * design: 친구 현재 위치 현황표 닉네임 사이즈 줄이기 * feat: 지각, 지각 위기 바운스 애니매이션 추가 * chore: 맞춤법 수정 * chore: 프로덕션 서버에 서비스 띄우기 (#393) * chore: dev 전용 CD 파일 수정 Co-authored-by: eun-byeol <[email protected]> * chore: prod 전용 CD 파일 추가 Co-authored-by: eun-byeol <[email protected]> * chore: path 임시 주석 처리 Co-authored-by: eun-byeol <[email protected]> * chore: prod name 수정 Co-authored-by: eun-byeol <[email protected]> * chore: 이미지 태그명 수정 Co-authored-by: eun-byeol <[email protected]> * chore: 도커 이미지 실행 이미지 태그명 수정 Co-authored-by: eun-byeol <[email protected]> * chore: 이미지 pull, 제거 순서 변경 Co-authored-by: eun-byeol <[email protected]> * chore: prod 서버 로깅 설정 추가 Co-authored-by: eun-byeol <[email protected]> * chore: prod cd event branch 변경 Co-authored-by: Hyeon0208 <[email protected]> * chore: prod ci 스크립트 추가 Co-authored-by: Hyeon0208 <[email protected]> --------- Co-authored-by: H <[email protected]> * design: 로그 화면 디자인 수정 (#409) * refactor: 현황 화면과 로그 화면의 툴바를 분리 * refactor: 로그 리스트 어댑터의 멀티 뷰 타입 제거 * style: ktLint 적용 * design: 로그 화면 툴바 디자인 수정 * design: 로그 리스트 아이템 디자인 수정 * design: 로그 햄버거 메뉴 디자인 구현 * feat: 햄버거 약속 친구 리스트 연결 기능 구현 * fix: 디자인 오류 수정 * fix: MeetingRoomActivity 백 버튼 리스너 버그 수정 * style: ktLint 적용 * design: 로그 리스트 아이템에 말줄임표 추가 * refactor: splash 라이브러리 사용으로 변경 (#406) * config: Splash Screen 의존성 추가 * chore: Splash 액티비티 삭제 * feat: MeetingsActivity에서 Splash 화면 뜨게 수정 * chore: 스플래쉬 로고 크기 수정 * refactor: 애니메이션 제거 및 함수 분리 * feat: 재촉하기 API 구현 (#394) * chore: 중복된 클래스 제거 * docs: 문서화 코드 작성 * feat: notificationType nudge 추가 * feat: 불변 값 객체로 전환 * feat: fetch join 활용한 mate 메서드 구현 * feat: 콕찌르기 구현 * feat: errorCode400 description 추가 * style: 쿼리 컨벤션 준수 * style: 개행 컨벤션 준수 * chore: 메서드 분리 * chore: api 수정 * chore: test DisplayName 수정 * test: test 가독성 개선 * refactor: meeting 변수 분리 삭제 * chore: 찌르기 > 재촉하기 * chore: api 수정 * docs: api 수정 * test: displayName 구체화 * fix: fcmTopic 값 객체 수정사항 반영 --------- Co-authored-by: coli-geonwoo <[email protected]> * feat: 네트워크 오류, 서버 오류 ��시 스낵바/토스트 구현 (#411) * feat: 주소 검색 위경도 변환시 에러 핸들링 구현 * feat: 모임 개설 에러 핸들링 구현 * feat: 초대 코드 입력 에러 핸들링 구현 * feat: 약속 참여 에러 핸들링 구현 * feat: 참여 중인 약속 목록 조회 에러 핸들링 구현 * feat: 약속 로그, 현황 화면 에러 핸들링 구현 * chore: 불필요한 코드 삭제 * test: fake repository 반환타입 수정 * style: ktLint 적용 * refactor: 토스트를 스낵바로 수정 * refactor: 에러 핸들링 관련 코드를 BaseViewModel로 분리 * refactor: _errorEvent, _networkErrorEvent를 private으로 변경 * docs: 약속 참여자 도착 현황 조회 API 문서화 (#405) * config: 난독화 적용 (#415) * config: 코드 난독화 적용 * config: 카카오 로그인 난독화 예외 처리 추가 * config: retrofit 난독화 예외 처리 추가 * config: 디버그 빌드 시 난독화 추가 * refactor: ETA 조회 API 응답 수정 (#418) * refactor: ETA 조회 API 응답 수정 (#417) * feat: 약속 참여자 도착 현황 조회 API 응답 수정 - 응답에 requesterMateId, mateId 추가 - ETA 업데이트 로직 메서드 분리 - `EtaService` meetingId, memberId로 mate 조회하는 메서드 `MateService`로 이동 - 응답 DTO 교체에 따른 컨트롤러, 서비스 테스트 수정 - meetingId로 모든 mate 조회하는 메서드 이름 수정 - 약속 단건 조회 시 mate가 아닌 경우 400 대신 404 반환하도록 수 * fix: 문서화용 하드코딩 제거 * feat: 위치 현황 카카오톡 공유 기능 구현 (#426) * config: firebase storage 의존성 추가 * feat: 뷰를 캡쳐하고 byteArray로 변환하는 기능 구현 * feat: firebase storage에 이미지 업로드하는 기능 구현 * feat: 공유하기 클릭 시 이미지 업로드 기능 구현 * refactor: 화면 전체가 아닌 RecyclerView만 캡쳐되도록 수정 * config: 카카오 공유하기 의존성 추가 * config: 카카오 공유하기 기초 셋팅 * chore: 패키지명 변경 * feat: 카카오 공유하기 기능 구현 * feat: 카카오 공유하기 기능과 뷰모델 연결 * refactor: 이미지 사이즈 카카오 api에 전달하도록 수정 * refactor: 카카오 공유 api 호출을 코루틴으로 수정 * style: ktLint 적용 * test: 테스트 파라미터 수정 * chore: ci에 kakao native key 추가 * style: ktLint 적용 * config: 버전 카탈로그 이름 변경 * refactor: ByteArrayOutputStream use 사용으로 변경 * refactor: 코루틴 사용 방법 변경 * chore: 패키지 변경 * style: ktlint 적용 * feat: 로딩 중 ProgressBar 다이얼로그 띄우는 기능 구현 (#430) * design: 로딩 다이얼로그 구현 * feat: BindingActivity에 로딩 다이얼로그 show/hide 함수 추가 * feat: BaseViewModel에 isLoading 변경하는 함수 추가 * config: 프로가드 규칙 추가 * feat: 서버에서 데이터 받아오는 부분에 로딩 추가 * feat: 콕찌르기 기능 (#420) * feat: 콕 찌르기 알림 타입 추가 * feat: 콕 찌르기 기능 구현 * feat: FakeMeetingRepository에 fetchNudge 추가 * refactor: nudgeSuccess -> nudgeSuccessMate 네이밍 변경 * refactor: get -> fetch로 변경 * test: 친구 재촉하면 친구 재촉 성공하는지 테스트 * style: ktlint * style: ktlint * style: ktlint * feat: 초대 코드 카카오톡 공유하기 기능 구현 (#431) * chore: 리스너 패키지 이동 * feat: 초대 코드 공유하기 기능 구현 * style: ktLint 적용 * style: 이미지 url 수정 * style: ktLint 적용 * feat: 초대 코드 공유 기능에 loading 추가 * style: ktLint 적용 * refactor: Firebase Analytics 로깅을 비동기로 남기도록 수정 (#435) * refactor: 코루틴 스코프 내에서 로깅 함수 호출하도록 수정 * refactor: fragment 코루틴 스코프를 viewLifecycleOwner.lifecycleScope로 변경 * refactor: 재촉하기 API에 재촉한 사람 정보가 포함되도록 수정 (#437) * docs: 문서화 코드 수정 * feat: 같은 약속 참여자인지 확인하는 책임 추가 * feat: 재촉하는 mate의 닉네임이 포함되도록 로직 개선 * feat: nudgeRequest dto null 검증로직 추가 * style: 컨벤션 준수 * refactor: deviceToken 반환로직 작성 * chore: 메서드 명 변경 * refactor: mate로부터 디바이스 토큰 추출 * chore: 에러 메시지 수정 --------- Co-authored-by: coli-geonwoo <[email protected]> * fix: fragment 로깅 찍는 시점 수정 (#441) * chore: MySQL DB를 실행할 EC2 생성 및 프로덕션 EC2 서버와 연결 (#419) * feat: eta entity NotNull 속성 추가 Co-authored-by: Hyeon0208 <[email protected]> * chore: mySql DB 적용, ddl-auto 속성 validate로 변경 - schema sql 파일 추가 Co-authored-by: Hyeon0208 <[email protected]> * chore: 스키마 오류 수정 * chore: 스키마 타입 오류 수정 * chore: defer-datasource-initialization 설정 제거 * fix: mate save메서드 트랜잭션 적용 * chore: test yml 설정에 defer-datasource-initialization 설정 제거 --------- Co-authored-by: eun-byeol <[email protected]> * chore: HTTPS 적용 (#436) * chore: prod cd 포트포워딩 443 변경 Co-authored-by: Hyeon0208 <[email protected]> * chore: cd docker 포트포워딩 변경 Co-authored-by: Hyeon0208 <[email protected]> * chore: MsSQL 설정 추가 * fix: Swagger CORS 에러 해결 --------- Co-authored-by: Hyeon0208 <[email protected]> Co-authored-by: mzeong <[email protected]> * chore: 로그 관련 중복 코드 제거 및 로그 내 Request Body 개행 제거 (#422) * chore: console에 로그 레벨에 따른 색상 출력 기능 추가 * chore: log pattern 변수화, 로그 출력 시간 서울 기준으로 변경 * refactor: Interceptor 내 로그 메시지 중복 코드 Wrappers Dto로 분리 * refactor: Wrapping 전용 Filter 클래스명 수정 * refactor: record class에서 일반 class로 변경 * chore: deprecated API 제거 (#438) * refactor: deprecated된 api 제거 * refactor: deprecated api test 수정 --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: eun-byeol <[email protected]> * fix: manifest에서 MAIN, LAUNCHER 인텐트 필터와 data 인텐트 필터를 분리 (#445) * refactor: 약속 참여 API 응답 수정 (#439) * refactor: 약속 참여 API 응답 수정 - 닉네임 중복 체크 로직 제거 - 참여자의 `estimatedMinutes`로 RouteTime 생성 * refactor: `Meeting` 내 `getMeetingTime` 메서드 사용 Co-authored-by: coli-geonwoo <[email protected]> * �refactor: 테스트 편의를 위해 `MateSaveResponse` 스웨거 예시를 미래 날짜로 수정 Co-authored-by: eun-byeol <[email protected]> * style: 한 줄 최대 길이 초과로 개행 Co-authored-by: eun-byeol <[email protected]> * fix: 누락된 LocalDate, LocalTime 임포트 추가 --------- Co-authored-by: coli-geonwoo <[email protected]> Co-authored-by: eun-byeol <[email protected]> * chore: dev 서버 DB MySQL 교체 작업 (#446) * chore: dev 서버 MySQL DB로 교체 Co-authored-by: eun-byeol <[email protected]> * chore: 주석 처리 및 연결 테스트 Co-authored-by: eun-byeol <[email protected]> * chore: 주석 처리 및 연결 테스트 Co-authored-by: eun-byeol <[email protected]> * chore: 주석 제거 Co-authored-by: eun-byeol <[email protected]> * chore: 컨테이너 명 변경 및 포트 포워딩 포트번호 변경 Co-authored-by: eun-byeol <[email protected]> * chore: CI 빌드 워크플로우 제거하고 Test만 실행하도록 변경 Co-authored-by: eun-byeol <[email protected]…
- Loading branch information