Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hotfix: og 크롤링 정상 작동 시 http https 프로토콜 정보 제거 (#458)
* feat: 게시글 상세 화면 구현 (#8) * feat: 게시글 상세 화면 레이아웃 작성 * feat: Data layer코드 작성 * refactor: dto패키지 분리, dto에 serialName추가 * refactor: 도메인 모델 수정 - 가변에서 불변으로 변경 - 사용하지 않는 메서드 제거 * refactor: 공통으로 사용되거나 사용될 수 있는 확장함수를 별도의 파일로 분리 * style: lint 적용 * refactor: 메서드명 컨벤션 적용 * refactor: request Dto에 SerialName적용 * refactor: 메서드명 수정 * feat: BottomNavigation 구현 (#16) * chore: jetpack navigation 라이브러리 추가 * feat: 필요한 바텀 네비게이션 리소스 추가 * feat: bottom navigation fragment 추가 * feat: bottom navigation graph 구현 * refactor: 컨벤션에 맞게 id 수정 * feat: 홈화면, 마이페이지 화면 레이아웃 작성 (#19) * refactor: FragmentContainer width 속성 수정 * feat: 홈 화면 레이아웃 작성 * feat: 마이페이지 화면 레이아웃 작성 * fix: 플로팅 버튼이 홈에서만 보이도록 수정 * refactor: 리소스 네이밍 컨벤션에 맞게 수정 * feat: 댓글방 목록 구현 (#26) * feat: 댓글방 목록 UI 구현 * fix: 구분선을 ImageView에서 View로 변경 * feat: 댓글방 목록 도메인 모델 구현 * feat: 댓글방 어답터 구현 * feat: "채팅" string 추가 * refactor: 불필요한 코드 제거 * fix: xmls 중복 속성 제거 * refactor: 댓글방 클래스들을 comment 패키지로 분리 * refactor: 컬러와 폰트 사이즈를 values 파일로 분리 * feat: 댓글방 디테일 화면 구현 (#32) * feat: font 설정 * feat: vector 이미지 추가 * feat: 채팅 아이템 뷰 구현 * refactor: 컨벤션에 맞게 네이밍 수정 * feat: 댓글 입력 edit text 구현 * feat: 공모 상세 페이지 API 연결 (#46) * build: 불필요한 의존성 제거, properties관련 코드 작성 * refactor: base_url코드상에서 제거 * feat: api수정에 따른 필드 변경 및 네이밍 반영 * refactor: 네이밍 변경 * refactor: OfferingDetail의 변경, mapper변경 * refactor: service분리 * refactor: DataSource, Repository분리 * refactor: API변경에 따른 리팩토링 * feat: 공모 상세 조회 기능 구현 * refactor: 참여하기 api변경에 따른 data, domain 코드 수정 * feat: 공모 상세 페이지 참여하기 기능 구현 * feat: 공모 상세 화면에서 이미지를 불러올 수 없을 시 기본이미지를 보여주는 기능 구현 * feat: 게시물 상세 화면 폰트 적용 * style: lint적용 * refactor: 액티비티 destroy시 binding해제하도록 코드 추가 * refactor: glide옵션 변경 - 에러 발생 시 보여줄 이미지 - url이 null일 시 보여줄 이미지 * refactor: viewModel에 custom getter추가 * fix: 내용이 짧을 시 뒷 배경이 회색으로 보이는 버그 수정 * fix: 참여하기 버튼을 눌렀을 시 텍스트가 바뀌지 않는 버그 수정 * chore: 안드로이드 CI 파일 작성 (#63) * chore: build CI 작업을 위한 manifest 파일 수정 (#65) * chore: 알람 권한 추가 * chore: local properties 속성 추가 * chore: local properties null 체크 로직 추가 * chore: buildConfigField null 체크 * style: lint 적용 * chore: secret 값 설정 * fix: secret 값 오류 수정 * fix: 문법 오류 수정 * chore: 경로 수정 * chore: 문법 수정 * style: lint 적용 * feat 댓글방 접히는 공지 뷰 구현 (#72) * chore: manifest에 CommentDetailActivity 추가 * feat: BindingAdatper을 사용하여 접힐 때 애니메이션 적용 및 픽셀 변환 * feat: viewmodel 구현 및 click 마다 접히고 펴지는 로직 구현 * style: ktlint 적용 * refactor: binding adpater을 사용하여 가시성 변경 * feat: 홈화면 API 연결 (#74) * refactor: API변경에 따른 data, domain 코드 변경 * feat: 공모 목록 기능 구현 * refactor: 함수 분리 * style: lint적용 * style: font 적용 * feat: 댓글방 목록 API 연결 (#82) * feat: bottom navigation fragment 추가 * feat: vector 이미지 추가 * feat: 댓글방이 없으면 "채팅 목록이 없어요" 라는 텍스트뷰와 이미지뷰를 띄우는 기능 구현 * feat: 댓글방 띄우는 기능 구현 * test: 댓글방 UI 테스트 작성 * refactor: 테스트 클래스명 수정 * refactor: 줄바꿈 수정 * feat: 댓글방 API 서비스 구현 * refactor: API 명세에 따라 도메인 모델 수정 * feat: API 연결 * refactor: API명세에 따라 데이터바인딩 변수명 수정 * feat: 댓글방 목록 API 연결 * refactor: ktlint Format 적용 * refactor: 메모리 누수 방지를 위해 fragment가 destroy 될 때 _binding을 null로 설정 * refactor: 어답터를 방어적복사 하지 않아도 되어서 수정 * refactor: 채팅방이 없다는 이미지뷰를 띄워주는 방식 수정(바인딩 어댑터 수정) * refactor: 함수분리 * refactor: ktFormat 적용 --------- Co-authored-by: chaehyun <[email protected]> * feat: 댓글방 접히는 공지 API 연결 (#85) * feat: 미팅 일정 API 연결을 위한 data layer 구현 * feat: 미팅 일정 API 연결을 위한 domain layer 구현 * feat: 미팅 일정 API 연결을 위한 presentation layer 구현 * style: ktlint 적용 * feat: 공동 구매 제목 databinding 적용 * refactor: 변수명 수정 * fix: 펼치기 접기 버튼 로직 반대로 수정 * style: ktlint 적용 * feat: 공모 상세 페이지 기능 추가 (#94) * chore: 마이페이지 닉네임 임시로 지정 * feat: 바로가기 기능 구현 * feat: 참여버튼 클릭 시 댓글방으로 가도록 기능 구현 * feat: 신고하기 이미지 추가 * style: lint적용 * refactor: 불러오는 공모 페이지 사이즈 변경 * feat: 댓글방 댓글 작성 api 연결 (#95) * chore: windowSoftInputMode 추가 * feat: post comment api service 구현 * feat: post comment DataSource 구현 * feat: post comment Repository 구현 * feat: post comment Presentation 구현 * feat: 댓글방 입장 기능, 본인이 총대인 방은 다르게 보이는 기능 구현 (#99) * feat: 댓글방의 마지막 댓글 시간을 띄우는 기능 구현 * feat: 자신이 총대인 댓글방을 표시하는 기능 구현 * feat: 댓글방 목록을 클릭해 댓글방 상세로 이동하는 기능 구현 * test: UI테스트 수정 * refactor: 클릭시 id 뿐만 아니라 title도 받아오는 방식으로 수정 * refactor: 오전/오후와 시간을 텍스트뷰에 띄우는 바인딩 어댑터를 DateTimeFormatter의 기능을 사용하는 것으로 수정 * refactor: memberId를 local.properties의 token을 가져다 쓰는 것으로 변경(임시 조치) * refactor: 댓글방 목록의 시간을 띄우는 바인딩 어댑터의 속성명을 수정함 * refactor: 데이터바인딩 variable 변수명을 구체적으로 수정, 일관성을 위해 앞에 `on` 붙임 * refactor: 어댑터가 뷰모델을 갖고 있지 않도록 수정 * refactor: 어댑터가 뷰모델을 갖고 있지 않도록 수정(빠트린것 수정함) * feat: 홈 화면 무한 스크롤 기능 구현 (#109) * build: pagination라이브러리 추가 * feat: 홈 화면 무한 스크롤 기능 구현 * fix: 마지막 댓글 response를 nullable하게 수정 (#115) * fix: 마지막 댓글 response를 nullable하게 수정 * refactor: ktFormat 적용 * feat: 댓글방 댓글 조회 api 연결 (#116) * feat: dto 및 mapper 구현 * feat: 댓글방 목록 service 구현 * feat: 댓글방 목록 data source 구현 * feat: 댓글방 목록 repository 및 model 구현 * feat: 댓글방 목록 view type을 활용한 recyclerview 구현 및 데이터 바인딩 * feat: polling 기능 구현 * feat: 댓글 스크롤 구현 (새로운 댓글이 생길시 스크롤 아래로) * feat: 총대와 다른 참가자 이미지 리소스 파일 * feat: 댓글방 디테일 공동 구매 상태별 관리 (#117) * feat: 공동구매 상태 관리 리소스 파일 * feat: 공동구매 상태를 관리하는 enum class 구현 * feat: 데이터바인딩을 사용하여 공동 구매 상태 뷰 업데이트 구현 * style: ktlint 적용 * feat: 공동구매 상태 관리 리소스 파일 추가 * refactor: 네이밍 수정 (#123) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 (#125) * refactor: 뷰모델 팩토리 방식 변경 (#130) * refactor: 뷰모델 팩토리를 뷰모델의 동반객체로 이동 * style: lint적용 * refactor: Service분리 (#132) * refactor: service분리 * refactor: 패키지명 변경 * style: lint적용 * feat: 공모글 작성 UI 구현 (#134) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 공모글 작성 뷰 구현 * fix: 뷰 수정사항 반영 * fix: @+id로 참조하는 부분을 수정 * fix: drawable의 네이밍에 where을 추가 * feat: 댓글방 참여자 목록 Drawer Layout UI 구현 (#136) * feat: 참여자 목록 drawer에 필요한 리소스 파일 추가 * refactor: 채팅 text gravity 수정 * feat: 댓글방 참여자 목록 Drawer Layout UI 구현 * style: ktlint 적용 * refactor: drawer early return 하는 방식으로 변경 * refactor: ivMore -> ivMoreOptions으로 네이밍 변경 * feat: 공구 참여자 item view 및 댓글방 view 사용자 친화적으로 수정 * feat: 홈화면(공모목록) UI 추가 구현 및 상태 변경 대응 (#142) * feat: 공모의 상태 변경이 반영되도록 기능 구현 * feat: 공모 목록 ui변경 * feat: 필터 ui추가 * feat: API변경에 따른 DTO수정 * style: lint적용 * feat: resource추가 * refactor: ui위치 수정 * chore: 불필요한 괄호 제거 * refactor: item 수직 정렬 * feat: 주소검색 기능구현 (#161) * refactor: 네이밍 컨벤션 적용 * build: webview 라이브러리 추가 * feat: 스크립트 실행위한 html파일 추가 * refactor: 인터페이스명 변경에 따른 변경 * feat: 주소검색 다이얼로그 레이아웃 작성 * feat: 주소검색 기능 구현 * style: lint적용 * refactor: 불필요한 코드 제거 * build: Firebase의존성 추가 (#165) * feat: 공모글 작성 API 연결 (#162) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 공모글 작성 API 연결 구현 * feat: 공모글 작성 뷰모델 구현 * fix: edit text 데이터바인딩 추가 * chore: 테스트를 위해 MutableLiveData default값 넣어둠 * chore: deadline defualt값 형식에 맞게 수정 * feat: 글작성 화면을 액티비티에서 프래그먼트로 수정 * chore: 테스트목적이었던 주석과 mutable livedata 디폴트값 제거 * refactor: 임시 함수명 수정 * fix: 글작성 프래그먼트가 올라오기 전에 바텀 네비게이션이 사라지는 문제 수정 * feat: 필수 항목이 모두 입력되어야 버튼이 활성화 되는 기능 구현 * feat: 가격, 총원 입력이 잘못되었을 시 토스트를 띄우는 기능 구현 * fix: 버튼 비활성화 시 텍스트 변경 * feat: 앱 아이콘 변경 * feat: 앱 이름 변경(chongdae -> 총대마켓) * feat: 예상 엔빵 가격을 보여주는 기능 구현 * refactor: 상수화 * refactor: 예상 엔빵 가격에 ,가 들어가는 기능 구현, 콜론 뒤 white space 추가 * feat: 공구 할인율을 계산해 주는 기능 구현 * feat: +, - 버튼으로 총원을 조절하는 기능 구현 * fix: 할인율과 엔빵가격 계산 시 0으로 나눠지는 상황을 제거 * fix: 맞춤법 수정 할인률 -> 할인율 * fix: 총원 버튼 크기가 너무 작아서 확대 * fix: 항목간 간격이 좁아서 확대 * refactor: Offering Write의 API service, DataSource, Repository를 Offerings와 합침 * refactor: 디버깅용 코드 삭제 * refactor: 버튼 활성화/비활성화를 selector와 삼항연산자로 구현 * refactor: 바인딩어댑터 대신 뷰모델이 visibility 상태를 갖고 있는 방식으로 변경 * refactor: 바인딩어댑터 대신 xml에서 처리하는 방식으로 변경 * refactor: 총원 디폴트 라이브데이터값 상수화 * refactor: +, - 텍스트뷰 버튼으로 수정 * refactor: textStyle bold대신 fontFamily suit_bold를 쓰는 것으로 수정 * refactor: 변수명 뒤에 Int를 붙이는 것 대신 Value를 붙이는 것으로 수정 * refactor: 글작성 제출 버튼의 아이디를 추가 * refactor: ktFormat * refactor: 토스트를 띄우는 함수 분리 * refactor: 도메인 객체 분리 * refactor: UI모델 적용 * refactor: ktFormat 적용 * feat: 댓글방 디테일 Room을 사용하여 data 저장 (#166) * feat: local database 구현 * feat: entity 구현 * feat: dao 구현 * feat: LocalDataSourceImpl 구현 * feat: entity mapper 구현 * refactor: CommentResponse 에 id 값 추가 * refactor: datasource 이름 변경 및 패키지 변경 * refactor: article -> offering으로 네이밍 변경 * refactor: repository 패키지 변경에 따른 수정 * refactor: datasource 패키지 변경 및 local 과 remote 분리 * refactor: repository Application 클래스를 통한 주입으로 변경 * style: ktlint 적용 * refactor: api service 리네이밍 * refactor: git conflict 해결 * refactor: 함수 이름 컨벤션에 맞도록 변경 (getMeetings -> fetchMeetings) * chore: CI 스크립트 추가 (#173) * chore: ci 스크립트 추가 * chore: ci 스크립트 수정 * feat: 날짜, 시간 선택 기능 구현, 주소검색 기능 연결 (#171) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 모집마감 시간 클릭 시 date time picker를 띄우는 기능 구현 * feat: 날짜, 시간 선택 기능 구현 * feat: 주소 검색 기능 연결 * refactor: 함수명 수정, 함수분리 * refactor: ktFormat 적용 * refactor: string으로 분리, 상수화 * fix: string 수정 * chore: CI workflow 파일 수정 * chore: CI workflow 파일 수정 * chore: CI workflow 파일 수정3 * chore: CI workflow 파일 수정4 * feat: 공모가 정상적으로 게시되었을 시 "공모가 게시되었어요!" 라는 토스트를 띄우고 공모글 작성 프래그먼트를 종료하는 기능 구현 * feat: 토스트가 화면 중앙에 뜨는 문제 수정 * refactor: 사용되지 않는 파일 삭제 * refactor: xml 뷰 id 수정 * refactor: 버튼이 TextView인 문제 수정 * refactor: 사용되지 않는 data binding variable 제거 * refactor: 함수명 수정 * refactor: 다이얼로그, dateTimePickerBinding 전역으로 선언 * refactor: dateTimePicker 클릭 이벤트를 추상화 해 xml에서 처리하도록 변경 * refactor: ktFormat * feat: 상품 URL 이미지 추출 API 연결 (#180) * refactor: 사용하지 않는 파일 제거 * refactor: 가시성 변경 * feat: api service 구현 * feat: datasource 구현 * refactor: repository 네이밍 수정 (offeringsRepository -> offeringRepository) * feat: 사진 업로드 관련 리소스 파일 추가 * feat: repository 및 model 구현 * feat: 이미지 링크를 통한 크롤링 이미지 불러오는 api 연결 및 이미지 삭제 로직 구현 * style: ktlint 적용 * refactor: 이미지 prefix 추가 및 에러 메시지 수정 * refactor: build 오류 수정 * fix: git conflict 해결 * feat: 공모 목록 조회 API연결 (#201) * refactor: Condition 수정에 따른 변경 * refactor: api변경에 따른 리팩토링 * refactor: api변경에 따른 목록 무한 스크롤 기능 리팩토링 * feat: 검색 기능 구현 * feat: 필터링 기능 구현 - 참여 가능은 서버 에러로 추후 추가 예정 * feat: 아이템을 불러온 후 recyclerview의 최상단으로 이동하는 기능 구현 - 검색, 필터링 수행 후 최상단으로 이동 * feat: 필터링 목록 불러오는 api연결 * feat: 마감임박 상태 추가 * refactor: default parameter제거 * style: lint적용 * feat: 바텀 네비게이션 고정 기능 구현 (#211) * feat: 키보드 이외 영역 터치 시 키보드 내려가도록 구현 (#214) * feat: 키보드외 화면 클릭 시 키보드 내려가도록 구현 * refactor: api변경에 다른 dto수정 * feat: 이미지 업로드 및 권한 설정 (#216) * chore: 이미지 권한 추가 * feat: permission manager을 생성하여 권한 체크 및 request * feat: 이미지 추가 버튼을 클릭할 시 권한 설정 연결 * feat: 이미지 피커를 사용하여 uri 전달 구현 * feat: 이미지 파일 업로드 api service 구현 * feat: 이미지 파일 업로드 data source 구현 * feat: 이미지 파일 업로드 repository 구현 * feat: 이미지 파일 martipart로 변환해주는 기능 구현 * feat: 이미지 업로드 관련 뷰 수정 * feat: 이미지 파일 업로드 및 api 연결 구현 * style: ktlint format * fix: git conflict 해결 * refactor: 이미지 scaleType 변경 * refactor: string value 컨벤션 적용 * feat: 검색 시 해당 키워드의 색상을 변경하는 기능 구현 (#222) * feat: 검색 시 해당 키워드의 색상을 변경하는 기능 구현 * refactor: 구현 방식 변경 * style: lint적용 * Feature/217 offering status (#230) * feat: 댓글방 상태 조회 api service 구현 * feat: 댓글방 상태 조회 model 및 dto 구현 * feat: 댓글방 상태 조회 datasource 구현 * feat: 댓글방 상태 조회 repository 구현 * feat: 댓글방 상태 조회 api 연결 구현 * style: ktlint 적용 * feat: 댓글방 상태 변경 (#231) * feat: 댓글방 상태 변경 api service 구현 * feat: 댓글방 상태 변경 data source 구현 * Revert "feat: 댓글방 상태 변경 data source 구현" This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217. * feat: 댓글방 상태 변경 data source 구현 * feat: 댓글방 상태 변경 repository 구현 * feat: 댓글방 상태 변경 api 연결 구현 * style: ktlint 적용 * feature: 카카오 로그인 구현 (#235) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 카카오 로그인 기능 초기 설정 * feat: 카카오 로그인 기능 구현 * feat: 카카오 로그인 UI 구현 * feat: 카카오 로그인 구현 * feat: 카카오 로그인 - 회원가입 기능 구현 * feat: 카카오 로그인 버튼 이미지 다운로드 * refactor: 함수명 수정 * refactor: 필요 없는 파일 제거 * refactor: 패키지 이동 * feat: 데이터 스토어에 memberId, nickName 저장하는 기능 구현 * feat: 로그인 post 기능 구현 * feat: 로그인 시도 후 실패할 경우 회원가입 하는 기능 구현 * fix: 바뀐 auth api 적용 * feat: 서기 pr 충돌 해결 * fix: api 필드명 수정 * refactor: ktFormat 적용 * fix: 테스트용 임의 문자열 제거 * feat: CookieJar 구현 * feat: API 수정에 맞춰 서비스 함수 수정 * refactor: 사용되지 않는 코드 제거 * refactor: http 상태 코드 enum 클래스로 묶음 * fix: 필터링 오류 수정 (#243) * feat: 공동구매 상태 변경 다이얼로그 구현 (#245) * feat: 공동구매 상태 변경 다이얼로그 view 구현 * feat: 공동구매 상태 변경 다이얼로그 Listener 구현 * feat: 공동구매 상태 변경 다이얼로그 연결 및 상태 변경 로직 수정 * test: 테스트 코드 작성을 위한 기본 세팅 (#255) * feat: CoroutinesTestExtension 구현 * feat: Livedata getOrAwaitValue 구현 * feat: InstantTaskExecutorExtension 구현 * feat: TestFixture 생성 * style: ktlint 적용 * feat: 공모글 목록 화면 UI 개선, 공모글 작성에서 낱개 금액이 엔빵 가격보다 저렴할 시 글 작성 막는 기능 구현 (#246) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 카카오 로그인 기능 초기 설정 * feat: 카카오 로그인 기능 구현 * feat: 카카오 로그인 UI 구현 * feat: 카카오 로그인 구현 * feat: 카카오 로그인 - 회원가입 기능 구현 * feat: 카카오 로그인 버튼 이미지 다운로드 * refactor: 함수명 수정 * refactor: 필요 없는 파일 제거 * refactor: 패키지 이동 * feat: 데이터 스토어에 memberId, nickName 저장하는 기능 구현 * feat: 로그인 post 기능 구현 * feat: 로그인 시도 후 실패할 경우 회원가입 하는 기능 구현 * fix: 바뀐 auth api 적용 * feat: 서기 pr 충돌 해결 * fix: api 필드명 수정 * refactor: ktFormat 적용 * fix: 테스트용 임의 문자열 제거 * feat: CookieJar 구현 * feat: API 수정에 맞춰 서비스 함수 수정 * refactor: 사용되지 않는 코드 제거 * refactor: http 상태 코드 enum 클래스로 묶음 * fix: 구분선을 각각의 아이템의 하단에 넣고 프래그먼트 뷰의 "채팅" 텍스트 밑에 하나 추가 * fix: 텍스트뷰에 font 적용, 마지막 댓글 시간 텍스트를 조금 왼쪽으로 이동 * fix: 낱개 가격 이름을 eachPrice -> originPrice 수정 * fix: 낱개 가격이 엔빵 가격보다 싸면 토스트를 띄우고 글작성을 막는 기능 구현 * fix: 네이티브앱키 로컬프로퍼티로 이동 * refactor: 함수명 변경 * fix: 카카오 계정으로 로그인 후 액티비티 전환하지 않는 문제 수정 * refactor: 사용되지 않는 클래스 삭제 * refactor: 패키지 수정 * refactor: alsong 로그 수정 * refactor: 변수명 수정 * refactor: Manifest의 네이티브앱 키 숨김 * refactor: 로컬프로퍼티의 데이터 형식 수정 * Update android.yml * refactor: alsong 로그 삭제 * ci 빌드 실패가 manifest때문인지 테스트 * refactor: 매니페스트에 앱 키 넣을 수 있게 하는 gradle 설정 수정 * 매니페스트 수정하고 재테스트 * 매니페스트 수정하고 재테스트 * chore: 그래들 수정 * chore: 그래들 수정2 * chore: 그래들 수정3 * chore: 그래들 수정4 * chore: 카카오 계정으로 로그인하는 기능 제외 * feat: 홈화면 테스트 작성 (#257) * chore: mockk의존성 추가 * test: OfferingViewModel 테스트 작성 * style: lint적용 * refactor: stub를 TestFixture로 이동 * test: 댓글방 테스트 코드 작성 (#258) * refactor: 댓글 보내는 함수명 변경 * refactor: 공구 약속 장소 및 시간 캐시 기능 * test: 테스트를 위한 fake repository 구현 * test: 댓글방 viewmodel test 작성 * feat: 댓글방 ActivityTest 작성 * feat: 댓글방 ActivityTest 작성 * style: ktlint 적용 * refactor: test fixture에서 사용하지 않는 것 삭제 * style: ktlint 적용 * feat: GA 모니터링 환경 구축 및 로깅 전략 적용 (#242) * chore: Firebase Crashlytics 의존성 추가 * feat: Firebase 초기화 * feat: FirebaseManager 구현 * feat: 총대가 공구 진행 상황을 다음 단계로 변경했을 때 event 추가 * feat: 로깅 기능 구현 - 검색 - 필터링 - 공모글 클릭 - 공모 참여 * style: lint적용 * feat: 글 작성 완료 시 event 추가 * feat: 로그인 시 event 추가 --------- Co-authored-by: Namyunsuk <[email protected]> Co-authored-by: songpink <[email protected]> * test: 공모글 작성 이미지 테스트 코드 작성 (#260) * refactor: 상수 가시성 변경 * feat: test fixture 구현 * feat: fake repository 이미지 업로드 기능 추가 * test: OfferingWriteViewModelTest 이미지 업로드 test 코드 작성 * feat: 로그인 후 홈화면으로 이동해도 로그인 화면이 종료되지 않는 문제 수정 (#261) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * fix: 로그인 후 LoginActivity가 종료되도록 수정 * feat: 공모 상세 화면 테스트 작성 (#264) * feat: OfferingDetailViewModel 테스트 작성 * refactor: 테스트 수정 * style: lint적용 * style: lint적용 * refactor: 홈화면 수정 (#271) * refactor: 할인율 마진 추가 * refactor: 공구상태에 대한 문구 수정 * refactor: 클릭 시 최상단으로 이동하는 버튼 구현 * feat: 공모글 작성 화면 테스트코드 작성 (#274) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * test: 공모글 작성 테스트 구현 * feat: 댓글방 목록 화면 테스트코드 작성 (#276) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * test: "댓글방 목록을 확인할 수 있어야 한다" 테스트 작성 * fix: 공모 상세 화면 오류 수정 (#280) * fix: 총대 여부 확인 로직 수정 * fix: 마감 임박 시 보여주는 버튼 수정 * fix: 공모 작성 후 홈화면으로 돌아왔을 떄 목록이 새로고침 되지 않는 오류 수정 * test: 테스트 코드 수정 * style: lint적용 * feat: 댓글방 목록 화면 자동 업데이트 되지 않는 문제 수정, 회원가입 이후 자동으로 로그인되지 않는 문제 수정 (#282) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * fix: 라이플사이클 오너 설정 * fix: 회원가입 후 자동으로 로그인 되도록 수정 * chore: change version name (#291) * feat: 카카오 계정 로그인 기능 구현 시 CI가 실패하는 문제 해결 (#296) * fix: ci가 실패하는 문제 수정(오타수정..) * fix: 카카오 계정 로그인 기능 추가 * feat: 로그인 화면 리팩토링 (#298) * fix: ci가 실패하는 문제 수정(오타수정..) * fix: 카카오 계정 로그인 기능 추가 * refactor: SimpleCookieJar의 패키지 변경(presentation 레이어에서 data레이어의 source 패키지로 이동) * refactor: data store를 관리하는 클래스를 생성하고 이 클래스를 사용하도록 변경 * refactor: 사용하지 않는 의존성과 주석 제거 * refactor: http status code 추가 * refactor: 함수분리 * refactor: ktFormat 적용 * feat: 액세스 토큰 만료 시 토큰 재발급 기능 구현(CommentRooms) * feat: 액세스 토큰 만료 시 토큰 재발급 기능 구현(CommentDetail), 사용되지 않게 된 memberId 제거 * refactor: ktFormat 적용 * test: 테스트코드 수정 * refactor: Preferences -> DataStore 이름 변경 * refactor: 채팅방 UI UX 개선 (#303) * feat: 키보드가 아닌 다른 영역을 클릭하면 키보드 내리는 기능 구현 * feat: 뒤로가는 버튼 기능 추가 * feat: 댓글 입력 maxLines 설정 및 maxLength 설정 * style: ktlint 적용 * 필요 없는 코드 제거 * feat: 댓글방 목록에서 자신이 총대인 댓글방의 UI 개선 (#304) * refactor: 댓글방의 자신이 총대인 댓글방 ui 개선 * fix: Binding 클래스 네이밍 수정 * feat: 가로모드, 다크모드 설정 (#305) * refactor: api변경에 따른 리팩토링 (#310) * feat: 로그인 화면 해상도 대응 (#313) * feat: 이미지 업로드 중일 때 로딩 상태 설정 (#317) * feat: 공모 글 작성 ui state 구현 * feat: 로딩 progressbar 생성 * feat: UI 상태에 따른 토스트 메시지 처리 * refactor: 잘못된 입력에 대한 에러 처리 변경 * refactor: 홈화면 리팩토링 (#324) * refactor: textSize dp로 변경 * refactor: 검색 버튼 크기 변경 - 검색 버튼 패딩 추가 - 검색창 끝에 패딩 추가 * refactor: 엔터키를 통해 검색하도록 수정 * refactor: 필터 단일 선택되도록 수정 * style: lint적용 * feat: 댓글방 새로운 기능 GA 연결 (#328) * feat: 댓글방 참여자 확인 Event 구현 * feat: 댓글방 상태 변경 다이얼로그 취소 Event * feat: 참여자가 공구에서 참여 포기 Event 구현 * style: ktlint 적용 * feat: Fragment GA 모니터링 수집 (#332) * feat: fragment logScreenView 추적 함수 구현 * feat: 각 fragment에서 화면 감지 GA 설정 * feat: 마이페이지 기본 세팅 및 뷰 변경 (#335) * feat: 마이페이지 기능 구현 (#341) * feat: 마이페이지 닉네임 기능 구현 * feat: 로그아웃 로직 구현 * feat: url 연결 로직 구현 * feat: 필요없는 기능 삭제 * style: ktlint 적용 * fix: 상세화면에서 홈화면으로 갔을 때 상태 변경 안되는 오류 수정 (#343) * refactor: 공모상세페이지 Activity -> Fragment로 리팩토링 * fix: 페이지네이션 및 상태변경 미적용 오류 해결 * refactor: 리팩토링에 따른 테스트 수정 * refactor: 주석 제거 및 상수화 * refactor: livedata 자료형 변경 * refactor: progressbar위치 수정 * refactor: lifecycleScope사용 리팩토링 * refactor: adapter에서 전체 아이템이 아닌 특정 아이템만 notify하도록 리팩토링 * refactor: API변경에 따른 대응 (#352) * refactor: api대응 * refactor: api변경에 따른 테스트 수정 * feat: 공모글 작성 화면 ux 개선 (#344) * fix: 각 항목의 설명을 place holder로 이동 * fix: 필수와 선택 항목의 프래그먼트 분리 * feat: 버튼이 항상 보이도록 수정 * fix: 가격과 총원은 숫자만 입력받도록 변경 * fix: 패딩 수정 * fix: ui 수정 * fix: 도메인 변경에 따른 deadline -> tradeDate 수정 * feat: 필수 항목을 모두 입력하면 선택 항목 화면으로 이동하는 기능 구현 * refactor: ktFormat 적용 * refactor: shared viewModel 사용, 미필수 항목을 미필수 입력 화면으로 이동 * refactor: 프래그먼트 이름 변경 * feat: 입력 숫자의 글자수와 라인수 제한 기능 구현 * fix: 총원이 -1이하로 떨어지는 버그 수정, 공동구매 텍스트 띄어쓰기 제거 * fix: 할인율, 엔빵 금액이 유효하지 않을 때는 "-"로 뜨도록 변경 * fix: 공모를 게시하면 필수, 선택 화면 모두 종료되도록 수정 * fix: 날짜 시간 픽커를 날짜만 선택하는 픽커로 변경 * refactor: ktFormat 적용 * refactor: 바인딩어댑터의 파라미터를 nullable하게 수정 * test: 테스트코드 수정 * feat: 낱개 가격의 place holder로 현재 엔빵 금액을 보여주는 기능 구현 * feat: 내용의 최대 글자수와 현재 글자수를 보여주는 기능 구현 * refactor: ktFormat 적용 * refactor: 공모글 작성시 memberId를 보내지 않도록 변경 * fix: 총원 최대 4자리에서 3자리까지만 입력받을 수 있도록 변경 * fix: deadline -> meetingDate 네이밍 수정 * fix: 공모글 작성 후 작성 화면의 입력값이 초기화되지 않는 버그 수정 * refactor: 네이밍 수정(eachPrice -> originPrice) * refactor: 네이밍 수정(individualPrice -> originPrice) * fix: 내용의 현재 글자수 색이 메인컬러가 되지 않는 문제 수정 * refactor: 프래그먼트 종료될 때 바인딩 해제하도록 수정 * refactor: id가 없는 뷰의 id 추가 * refactor: 함수 분리 * fix: 내용 옆의 * 제거 * fix: GA 이벤트 이름 변경(공모글 작성 - 필수 화면에서의 이벤트임을 명시함) * feat: 로그인 시에도 memberId와 nickName을 받아서 data store에 저장하는 기능 구현 (#358) * feat: 로그인 시에도 memberId와 nickName을 받아서 data store에 저장하는 기능 구현 * test: 테스트코드 수정 * fix: 필터 오류 수정 (#362) * fix: 필터 오류 수정 - '참여가능만'필터 분기처리 제거 * chore: 주석 제거 * �feat: API 스펙 변경에 따른 대응 (#364) * feat: 댓글 목록 조회 api 스펙 변경에 따른 대응 * feat: 댓글방 정보 조회 api 스펙 변경에 따른 대응 * feat: 공모 일정 조회 api 스펙 변경에 따른 대응 * feat: 댓글 상태 변경 api 스펙 변경에 따른 대응 * test: api 스펙 변경에 따른 test 코드 변경 * style: ktlint 적용 * feat: remote dto package 분리 * fix: 공모 작성 후 홈화면 돌아올 때 새로 작성한 글이 보이지 않는 오류 수정 (#369) * feat: Access Token, Refresh Token을 data store에 저장하는 기능 구현 (#372) * feat: 앱 재시작 시 토큰을 데이터스토어에서 꺼내 사용하는 기능 구현 * feat: 로그인이 이미 되어있다면 로그인 화면을 건너뛰는 기능 구현 * feat: 로그아웃 기능 구현 * fix: 마이페이지 화면으로 넘어가면 바텀네비게이션이 사라지는 버그 수정 * fix: 데이터스토어에서 토큰이 꺼내지지 않는 버그 수정 data store에서 토큰을 꺼내는 코루틴 비동기 작업이 끝나기 전에 함수를 종료해 버려서 생기는 버그였습니다. * refactor: ktFormat 적용 * refactor: startActivity 함수를 LoginActivity가 동반객체로 갖고 있도록 변경 * refactor: 함수명과 event명 변경 추가로 GA위치가 조금 잘못된 점이 있어서 수정했습니다. * feat: 공모 상세 화면 추가 기능 반영 (#375) * feat: 신고하기 기능 구현 * feat: 물품 링크가 없으면 보여지지 않도록 구현 * refactor: 마감 시간에서 거래 날짜로 리팩토링 * feat: 이미 참여한 공모게시글에서 채팅방으로 이동하는 기능 구현 * fix: 댓글방 목록의 마지막 댓글방이 보이지 않는 문제 수정 (#376) * fix: 리사이클러뷰 레이아웃의 크기가 화면 밖에 벗어나지 않도록 수정 * fix: 리사이클러뷰 레이아웃의 맨 밑에 구분선 하나 추가 아래로 땡겼을 때 구분선이 사라져버리는게 보기 안좋아서 추가했습니다 * refactor: 코트 포맷 적용 (컨트롤 알트 L) * refactor: 홈화면 api필드 추가에 따른 대응 (#381) * refactor: dto필드 추가 * fix: 상태 변경 오류 해결 * fix: 필터 선택 또는 검색상태일 때 공모 작성 후 나오면 목록 안보이는 오류 수정 * refactor: 세부 주소 api에서 받아오도록 변경 * style: lint적용 * feat: 공모 목록에서 동을 보여주는 기능 구현 (#386) * refactor: 상태변경 리팩토링 (#389) * refactor: 공모 상세 조회 api변경 대응 * refactor: 공모 상태 변경 리팩토링 * refactor: 리팩토링에 따른 테스트 수정 * chore: 불필요한 로그 제거 * fix: 댓글 입력 후 뒤로가기 시 최근 댓글이 반영되도록 수정 (#397) * feat: 댓글방 참여자 확인 API 연결 (#401) * feat: 참가자 정보를 가져오는 api service 구현 * refactor: 필요없는 코드 삭제 * feat: 참여 관리 datasource 구현 * feat: 참여자 domain 모델 구현 * feat: 참여를 관리하는 repository 구현 * feat: 참여자 목록을 보여주는 recycler view 연결 및 구현 * refactor: 더보기 버튼 수정 * feat: 필요없는 리소스 파일 삭제 및 상태 기본 이미지 변경 * refactor: 약속 장소 및 시간 ui model 을 사용하여 관리 * refactor: 댓글방의 정보를 불러오는 로직 ui model을 사용하여 관리 * refactor: ui model 변환 로직 변경 * feat: 공동구매 참여 인원 확인 기능 구현 * feat: 신고하기 폼 연결 구현 * test: 코드 변경에 따른 테스트 코드 수정 * style: ktlint 적용 * refactor: xml id 추가 * feat: 댓글방 공동구매 나가기 API 연결 (#402) * feat: 공동구매 나가기 기능 api service 구현 * feat: 공동구매 나가기 기능 data source 구현 * feat: 공동구매 나가기 기능 repository 구현 * feat: 공동구매 나가기 기능 연결 * style:ktlint 적용 * feat: CallApiHandler 구현 (#403) * feat: CallApiHandler 구현 * refactor: CommentRoomsDataSource 수정 * feat: CommentRemoteDataSourceImpl 에러핸들링을 통해 수정 * feat: 에러 핸들링에 따른 DataSource 리팩토링 - OfferingDetailDataSource - OfferingRemoteDataSource * feat: ParticipantRemoteDataSourceImpl 에러핸들링을 통해 수정 * style: ktlint 적용 * refactor: AuthRemoteDataSource 수정 * feat: Result의 map 과 getOrThrow 함수 생성 * feat: 에러 핸들링에 따른 Repository 리팩토링 - OfferingDetailRepository - OfferingRepository * refactor: Result 변경에 따른 레포지토리 수정 (AuthRepository, CommentRoomsRepository) * feat: 에러 핸들링에 따른 CommentDetailRepository 리팩토링 * feat: 에러 핸들링에 따른 ParticipantRepository 리팩토링 * feat: 에러 핸들링에 따른 viewmodel 리팩토링 - OfferingViewModel - OfferingDetailViewModel * refactor: 에러 핸들링에 따른 LoginViewModel 리팩토링 * refactor: 에러 핸들링에 따른 CommentRoomsViewModel 리팩토링 * refactor: 토큰 리프레쉬 후 다시 함수 호출하도록 추가 * feat: 에러 핸들링에 따른 CommentDetailViewModel 리팩토링 * refactor: 에러 핸들링에 따른 OfferingWriteViewModel 리팩토링 * refactor: 공모 목록 토큰 리프래시 적용 * fix: 잘못된 코드 수정 * refactor: 필요없는 주석 제거 * refactor: 공모 목록 리팩토링 * fix: 리빌드시 쿠키가 제대로 저장되지 않는 현상 수정 * refactor: 필요없는 코드 삭제 및 상수화 추가 * test: 에러핸들링에 따른 FakeAuthRepository, OfferingWriteViewModelTest 수정 * refactor: ktFormat 적용 * test: 코드 변경에 따른 Fake Repository 변경 * test: CommentDetailViewModelTest 코드 수정 * style: ktlint 적용 * refactor: 가독성 개선(에러 로그 함수명 추가, Success가 Error보다 위에 나오도록 수정) * refactor: 불필요한 로그 제거 * refactor: 리팩토링에 따른 테스트 수정 * refactor: 람다 넘겨주는 방식 수정 * style: lint 적용 * test: 테스트코드 수정 --------- Co-authored-by: chaehyun <[email protected]> Co-authored-by: Namyunsuk <[email protected]> * feat: proguard를 사용한 난독화 적용 (#413) * �fix: 공구 상세 페이지 오류 해결 (#417) * fix: 바로가기 클릭되지 않는 오류 수정 * refactor: 주소 표시할 때 최대 2줄까지 그리고 넘어갈 시 말줄임 나오도록 수정 * refactor: 공모 목록, 공모 상세 에러 핸들링 (#418) * refactor: 공모 목록에서 401에러를 제외하고는 에러코드 올 시 빈화면 보여주도록 에러핸들링 수정 * refactor: 필터및 업데이트된 공모 목록 가져오는 로직 에러핸들링 수정 - 400: 토스트 메시지 띄어줌 - 401: refresh - 그외에는 로그로 에러 코드를 보여줌 * refactor: strings네이밍 통일 * refactor: 공모 상세 에러 핸들링 수정 * refactor: strings정리 - offering_detail부분 정리 * feat: 로그인 api 변경 반영 (#426) * feat: 카카오 로그인 후 총대마켓 서버로 email을 보내던 방식에서 카카오 access token을 보내는 방식으로 변경 * feat: login과 signup을 하나로 api로 통합된 것 반영 * refactor: ktFormat 적용 * refactor: 테스트코드 수정 * refactor: 에러 핸들링 리팩토링 (#436) * feat: 리프레시 토큰 만료 시 데이터스토어를 비우고 로그인 화면으로 이동하는 기능 구현 (#438) * feat: 댓글방 에러 헨들링 (#439) * refactor: refresh시 401이 오는 경우에 대한 에러핸들링 추가 (#441) * chore: 버전 업데이트 (#443) * v1.1.0 (#448) * feat: 게시글 상세 화면 구현 (#8) * feat: 게시글 상세 화면 레이아웃 작성 * feat: Data layer코드 작성 * refactor: dto패키지 분리, dto에 serialName추가 * refactor: 도메인 모델 수정 - 가변에서 불변으로 변경 - 사용하지 않는 메서드 제거 * refactor: 공통으로 사용되거나 사용될 수 있는 확장함수를 별도의 파일로 분리 * style: lint 적용 * refactor: 메서드명 컨벤션 적용 * refactor: request Dto에 SerialName적용 * refactor: 메서드명 수정 * feat: 도메인 추가 (#15) * feat: BaseTimeEntity 추가 Co-authored-by: Dora Choo <[email protected]> * feat: Member Entity 추가 Co-authored-by: Dora Choo <[email protected]> * feat: Offering Entity 추가 Co-authored-by: Dora Choo <[email protected]> * feat: OfferingMember Entity 추가 Co-authored-by: Dora Choo <[email protected]> * feat: Comment Entity 추가 Co-authored-by: Dora Choo <[email protected]> --------- Co-authored-by: Dora Choo <[email protected]> * feat: BottomNavigation 구현 (#16) * chore: jetpack navigation 라이브러리 추가 * feat: 필요한 바텀 네비게이션 리소스 추가 * feat: bottom navigation fragment 추가 * feat: bottom navigation graph 구현 * refactor: 컨벤션에 맞게 id 수정 * feat: 공동구매 상세 조회 기능 구현 (#18) * chore: h2 환경설정 추가 * docs: http client 추가 * refactor: entity 접미어 적용 * chore: dummy data 추가 * docs: http client 값 변경 * refactor: repository 와 domain 패키지 분리 * feat: 공동구매 상세 조회 API 구현 * refactor: entity 접미어 적용 * style: 클래스 컨벤션 적용 * chore: h2 console 설정 제거 * refactor: OfferingCondition enum값 결정로직을 enum 안으로 이동 * feat: 홈화면, 마이페이지 화면 레이아웃 작성 (#19) * refactor: FragmentContainer width 속성 수정 * feat: 홈 화면 레이아웃 작성 * feat: 마이페이지 화면 레이아웃 작성 * fix: 플로팅 버튼이 홈에서만 보이도록 수정 * refactor: 리소스 네이밍 컨벤션에 맞게 수정 * feat: API 문서화 적용 (#23) * chore: springdoc-openapi 의존성 추가 Co-authored-by: Dora Choo <[email protected]> * chore: springdoc 설정 추가 Co-authored-by: Dora Choo <[email protected]> * feat: SwaggerConfig 파일 추가 Co-authored-by: Dora Choo <[email protected]> * feat: 공모 상세 조회 API 문서화 Co-authored-by: Dora Choo <[email protected]> --------- Co-authored-by: Dora Choo <[email protected]> * fix: 공모 상세 조희 API의 price 필드 자료형 변경 및 memberId 필드 추가 (#28) * fix: 상세조회 API 금액 필드 자료형 변경 Co-authored-by: Dora Choo <[email protected]> * fix: memberId 추가 * 내가 쓴 글인지 아닌지 확인 위해 Co-authored-by: Dora Choo <[email protected]> --------- Co-authored-by: Dora Choo <[email protected]> * chore: 백엔드 CI 및 도커 파일 작성 (#27) * chore: actions 적용 브랜치 설정 (#30) * chore: actions 적용 브랜치 설정 * chore: path 및 ref 태그 제거 * chore: working-directory 태그 추가 * chore: Dockerfile jar 경로 수정 * feat: 댓글방 목록 구현 (#26) * feat: 댓글방 목록 UI 구현 * fix: 구분선을 ImageView에서 View로 변경 * feat: 댓글방 목록 도메인 모델 구현 * feat: 댓글방 어답터 구현 * feat: "채팅" string 추가 * refactor: 불필요한 코드 제거 * fix: xmls 중복 속성 제거 * refactor: 댓글방 클래스들을 comment 패키지로 분리 * refactor: 컬러와 폰트 사이즈를 values 파일로 분리 * feat: 공모 목록 조회 기능 구현 (#35) * feat: 공모 목록 조회 API 구현 * docs: 공모 목록 조회 API http client에 추가 * fix: 공모 상세 조회 API의 status 필드를 condition으로 명칭 변경 * feat: 공모 목록 조회 API의 isClosed 필드 이름을 isOpen으로 변경 * feat: 댓글방 디테일 화면 구현 (#32) * feat: font 설정 * feat: vector 이미지 추가 * feat: 채팅 아이템 뷰 구현 * refactor: 컨벤션에 맞게 네이밍 수정 * feat: 댓글 입력 edit text 구현 * chore: 백엔드 CD 스크립트 작성 (#34) * chore: 백엔드 CD 스크립트 작성 * chore: 도커 백그라운드로 실행 * chore: 도커 설정 및 트리거 설정 변경 * chore: 도커 이미지 제거 로직 수정 * chore: 도커 이미지 제거 방식 수정 * chore: 도커 이미지 제거 방식 수정 * chore: 도커 이미지 강제 제거하도록 수정 * chore: gradle 캐싱 로직 추가 (#39) * chore: gradle 캐싱 로직 추가 * chore: 이벤트 트리거 조건 수정 * feat: 공모 참여하기 기능 구현 (#40) * fix: BaseTimeEntity 적용 오류 수정 Co-authored-by: Dora Choo <[email protected]> * feat: 참여하기 API 구현 Co-authored-by: Dora Choo <[email protected]> --------- Co-authored-by: Dora Choo <[email protected]> * feat: 공모 상세 조회 API에 참여자 목록 필드 추가 (#42) * feat: 공모 상세 조회 API의 request에 memberId 필드 추가 (#45) * feat: 공모 참여 API의 불필요한 응답값 전부 제거 (#48) * feat: 공모 참여 API의 불필요한 반환값 제거 * chore: 자주 쓰는 h2 console enabled 설정 주석 처리 * feat: 이미 참여한 공모에 참여 못하게 예외 처리 (#51) * feat: 공모 상세 페이지 API 연결 (#46) * build: 불필요한 의존성 제거, properties관련 코드 작성 * refactor: base_url코드상에서 제거 * feat: api수정에 따른 필드 변경 및 네이밍 반영 * refactor: 네이밍 변경 * refactor: OfferingDetail의 변경, mapper변경 * refactor: service분리 * refactor: DataSource, Repository분리 * refactor: API변경에 따른 리팩토링 * feat: 공모 상세 조회 기능 구현 * refactor: 참여하기 api변경에 따른 data, domain 코드 수정 * feat: 공모 상세 페이지 참여하기 기능 구현 * feat: 공모 상세 화면에서 이미지를 불러올 수 없을 시 기본이미지를 보여주는 기능 구현 * feat: 게시물 상세 화면 폰트 적용 * style: lint적용 * refactor: 액티비티 destroy시 binding해제하도록 코드 추가 * refactor: glide옵션 변경 - 에러 발생 시 보여줄 이미지 - url이 null일 시 보여줄 이미지 * refactor: viewModel에 custom getter추가 * fix: 내용이 짧을 시 뒷 배경이 회색으로 보이는 버그 수정 * fix: 참여하기 버튼을 눌렀을 시 텍스트가 바뀌지 않는 버그 수정 * feat: 테스트 데이터 다양화 (#52) Co-authored-by: Dora Choo <[email protected]> * refactor: 공모 엔티티에 currentCount 필드 추가 (#55) * feat: 댓글 작성 API 구현 (#57) * feat: 댓글방 내 공모 일정 조회 기능 구현 (#58) * feat: 댓글방 내 공모 일정 조회 기능 구현 Co-authored-by: Dora Choo <[email protected]> * refactor: 공모 일정 조회 api 명세 변경 Co-authored-by: Dora Choo <[email protected]> --------- Co-authored-by: Dora Choo <[email protected]> * refactor: common 패키지명을 global로 변경 (#61) * chore: 안드로이드 CI 파일 작성 (#63) * feat: 댓글 목록 조회 API 구현 (#66) * chore: build CI 작업을 위한 manifest 파일 수정 (#65) * chore: 알람 권한 추가 * chore: local properties 속성 추가 * chore: local properties null 체크 로직 추가 * chore: buildConfigField null 체크 * style: lint 적용 * chore: secret 값 설정 * fix: secret 값 오류 수정 * fix: 문법 오류 수정 * chore: 경로 수정 * chore: 문법 수정 * style: lint 적용 * feat: 댓글방 목록 조회 API 구현 (#70) * feat 댓글방 접히는 공지 뷰 구현 (#72) * chore: manifest에 CommentDetailActivity 추가 * feat: BindingAdatper을 사용하여 접힐 때 애니메이션 적용 및 픽셀 변환 * feat: viewmodel 구현 및 click 마다 접히고 펴지는 로직 구현 * style: ktlint 적용 * refactor: binding adpater을 사용하여 가시성 변경 * refactor: 댓글방 및 댓글 목록 조회 서비스 계층 (#78) * fix: 댓글방 목록 조회 시 가장 최근 댓글 조회 (#80) * feat: 홈화면 API 연결 (#74) * refactor: API변경에 따른 data, domain 코드 변경 * feat: 공모 목록 기능 구현 * refactor: 함수 분리 * style: lint적용 * style: font 적용 * fix: 시간순 정렬 쿼리 추가 (#83) * chore: 더미 데이터 추가 (#87) * feat: 댓글방 목록 API 연결 (#82) * feat: bottom navigation fragment 추가 * feat: vector 이미지 추가 * feat: 댓글방이 없으면 "채팅 목록이 없어요" 라는 텍스트뷰와 이미지뷰를 띄우는 기능 구현 * feat: 댓글방 띄우는 기능 구현 * test: 댓글방 UI 테스트 작성 * refactor: 테스트 클래스명 수정 * refactor: 줄바꿈 수정 * feat: 댓글방 API 서비스 구현 * refactor: API 명세에 따라 도메인 모델 수정 * feat: API 연결 * refactor: API명세에 따라 데이터바인딩 변수명 수정 * feat: 댓글방 목록 API 연결 * refactor: ktlint Format 적용 * refactor: 메모리 누수 방지를 위해 fragment가 destroy 될 때 _binding을 null로 설정 * refactor: 어답터를 방어적복사 하지 않아도 되어서 수정 * refactor: 채팅방이 없다는 이미지뷰를 띄워주는 방식 수정(바인딩 어댑터 수정) * refactor: 함수분리 * refactor: ktFormat 적용 --------- Co-authored-by: chaehyun <[email protected]> * feat: 댓글방 접히는 공지 API 연결 (#85) * feat: 미팅 일정 API 연결을 위한 data layer 구현 * feat: 미팅 일정 API 연결을 위한 domain layer 구현 * feat: 미팅 일정 API 연결을 위한 presentation layer 구현 * style: ktlint 적용 * feat: 공동 구매 제목 databinding 적용 * refactor: 변수명 수정 * fix: 펼치기 접기 버튼 로직 반대로 수정 * style: ktlint 적용 * chore: 더미 데이터 바로가기 url 수정 (#93) * feat: 공모 상세 페이지 기능 추가 (#94) * chore: 마이페이지 닉네임 임시로 지정 * feat: 바로가기 기능 구현 * feat: 참여버튼 클릭 시 댓글방으로 가도록 기능 구현 * feat: 신고하기 이미지 추가 * style: lint적용 * refactor: 불러오는 공모 페이지 사이즈 변경 * refactor: 댓글 도메인 코드 리팩터링 (#96) * refactor: 로그인 멤버 변수명 변경 * refactor: JPQL 쿼리 컨벤션 및 멤버로 공모 조회 메서드명 변경 * refactor: 최근 댓글 응답 클래스명 변경 * refactor: 컨트롤러 및 서비스 API 순서 변경 * refactor: 로그인 사용자 유효성 검증 * feat: 댓글방 댓글 작성 api 연결 (#95) * chore: windowSoftInputMode 추가 * feat: post comment api service 구현 * feat: post comment DataSource 구현 * feat: post comment Repository 구현 * feat: post comment Presentation 구현 * chore: 더미 데이터 시간 변경 (#100) * feat: 댓글방 입장 기능, 본인이 총대인 방은 다르게 보이는 기능 구현 (#99) * feat: 댓글방의 마지막 댓글 시간을 띄우는 기능 구현 * feat: 자신이 총대인 댓글방을 표시하는 기능 구현 * feat: 댓글방 목록을 클릭해 댓글방 상세로 이동하는 기능 구현 * test: UI테스트 수정 * refactor: 클릭시 id 뿐만 아니라 title도 받아오는 방식으로 수정 * refactor: 오전/오후와 시간을 텍스트뷰에 띄우는 바인딩 어댑터를 DateTimeFormatter의 기능을 사용하는 것으로 수정 * refactor: memberId를 local.properties의 token을 가져다 쓰는 것으로 변경(임시 조치) * refactor: 댓글방 목록의 시간을 띄우는 바인딩 어댑터의 속성명을 수정함 * refactor: 데이터바인딩 variable 변수명을 구체적으로 수정, 일관성을 위해 앞에 `on` 붙임 * refactor: 어댑터가 뷰모델을 갖고 있지 않도록 수정 * refactor: 어댑터가 뷰모델을 갖고 있지 않도록 수정(빠트린것 수정함) * feat: 전반적인 예외 처리 (#103) * feat: 예외 처리 핸들러 추가 * feat: Offering 예외 처리 코드 추가 * feat: Comment 예외 처리 코드 추가 * feat: Member 예외 처리 코드 추가 * feat: OfferingMember 예외 처리 코드 추가 * feat: Offering 예외 처리 상세 코드 추가 * feat: 에러 코드 적용 * feat: 도메인 검증 로직 * feat: DTO 검증 로직 --------- Co-authored-by: masonkimseoul <[email protected]> * feat: swagger와 restdocs 연동 (#104) * chore: swagger ui 정적 파일 설치 및 static routing 세팅 * chore: restdocs-api-spec을 이용한 OAS 생성 * chore: swagger ui 정적 파일을 swagger-ui 디렉토리로 이동 * chore: swagger ui 정적 파일 및 static routing 세팅 제거 * chore: 생성된 OAS 파일을 Swagger 디렉터리로 복사하는 스크립트 작성 * chore: openapi3 yaml 파일 gitignore 처리 * chore: static routing 세팅 다시 추가 openapi3.yaml을 사용하기 위함 * test: RestAssured RestDocs 테스트 코드 작성 * test: 공모 목록 조회 API 문서화 * test: 공모 일정 조회 API 및 공모 참여 API 문서화 * test: 댓글 관련 API 문서화 * docs: 논의된 TODO 제거 * refactor: swagger 어노테이션 제거 * chore: 개발 API 서버 목록 설정 --------- Co-authored-by: fromitive <[email protected]> * refactor: 에러메시지 필드명 변경 (#108) * fix: restdocs 관련 테스트 실패 이슈 해결 (#106) * chore: cicd 테스트 * chore: 테스트 위해 actions 범위 조정 * chore: 배포 스크립트 띄어쓰기 오타 수정 * chore: 빌드 캐싱 제거 * chore: logging * chore: --warning-mode all 옵션 줘서 gradle 호환 무시하도록 설정 * fix: status 달라서 실패하는 테스트 수정 * chore: actions 범위 수정 * chore: action 범위 수정 * chore: test용 static 파일 추가 * chore: static 하위 폴더를 jar 파일에 포함하도록 설정 * chore: swagger-ui 하위 폴더 제거 * chore: task 순서 조정 * chore: build 스크립트 수정 * chore: 불필요한 설정 변경 제거 * chore: clean build 대신 clean bootJar 사용 * chore: clean, build 각각 하도록 변경 * chore: test 까지 두 번 돌리도록 수정 * chore: openapi3까지 두 번 실행하도록 수정 * chore: copyOasToSwagger 까지 두번 실행하도록 수정 * chore: actions 활성화 범위 수정 * fix: 댓글방 목록 조회 시 참여자 수 조건 추가 (#111) * fix: 댓글방 조회 테스트 수정 (#113) * feat: 홈 화면 무한 스크롤 기능 구현 (#109) * build: pagination라이브러리 추가 * feat: 홈 화면 무한 스크롤 기능 구현 * fix: 마지막 댓글 response를 nullable하게 수정 (#115) * fix: 마지막 댓글 response를 nullable하게 수정 * refactor: ktFormat 적용 * feat: 댓글방 댓글 조회 api 연결 (#116) * feat: dto 및 mapper 구현 * feat: 댓글방 목록 service 구현 * feat: 댓글방 목록 data source 구현 * feat: 댓글방 목록 repository 및 model 구현 * feat: 댓글방 목록 view type을 활용한 recyclerview 구현 및 데이터 바인딩 * feat: polling 기능 구현 * feat: 댓글 스크롤 구현 (새로운 댓글이 생길시 스크롤 아래로) * feat: 총대와 다른 참가자 이미지 리소스 파일 * feat: 댓글방 디테일 공동 구매 상태별 관리 (#117) * feat: 공동구매 상태 관리 리소스 파일 * feat: 공동구매 상태를 관리하는 enum class 구현 * feat: 데이터바인딩을 사용하여 공동 구매 상태 뷰 업데이트 구현 * style: ktlint 적용 * feat: 공동구매 상태 관리 리소스 파일 추가 * fix: 이미지 링크 임시 수정 (#119) * fix: 이미지 링크 수정 (#120) * refactor: 네이밍 수정 (#123) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 (#125) * refactor: 뷰모델 팩토리 방식 변경 (#130) * refactor: 뷰모델 팩토리를 뷰모델의 동반객체로 이동 * style: lint적용 * refactor: Service분리 (#132) * refactor: service분리 * refactor: 패키지명 변경 * style: lint적용 * feat: 공모글 작성 UI 구현 (#134) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 공모글 작성 뷰 구현 * fix: 뷰 수정사항 반영 * fix: @+id로 참조하는 부분을 수정 * fix: drawable의 네이밍에 where을 추가 * feat: 댓글방 참여자 목록 Drawer Layout UI 구현 (#136) * feat: 참여자 목록 drawer에 필요한 리소스 파일 추가 * refactor: 채팅 text gravity 수정 * feat: 댓글방 참여자 목록 Drawer Layout UI 구현 * style: ktlint 적용 * refactor: drawer early return 하는 방식으로 변경 * refactor: ivMore -> ivMoreOptions으로 네이밍 변경 * feat: 공구 참여자 item view 및 댓글방 view 사용자 친화적으로 수정 * chore: CI 빌드 스크립트 중 중복되는 task 제거해 성능 개선 (#128) * chore: jar�태스크 비활성화하고 bootJar 태스크로만 JAR 파일 생성 * chore: cicd 범위 조정 * feat: 공모 작성 API 구현 (#139) * feat: 공모 작성 API 구현 Co-authored-by: fromitive <[email protected]> * refactor: create를 save로 변경 Co-authored-by: fromitive <[email protected]> * refactor: dto entity 매핑로직을 dto로 이동 Co-authored-by: fromitive <[email protected]> * refactor: controller request 매개변수 명 컨벤션 적용 Co-authored-by: fromitive <[email protected]> --------- Co-authored-by: fromitive <[email protected]> * refactor: 공모에 저장하는 주소 값 구체화 (#141) * refactor: 공모에 저장하는 주소 값 구체화 Co-authored-by: fromitive <[email protected]> * chore: github-action 스크립트 수정 Co-authored-by: fromitive <[email protected]> * chore: CI/CD test 설정 추가 Co-authored-by: fromitive <[email protected]> * chore: static/swagger-ui 폴더 추가 Co-authored-by: fromitive <[email protected]> * chore: 설정 원상 복구 Co-authored-by: fromitive <[email protected]> * chore: ci/cd 범위 수정 Co-authored-by: fromitive <[email protected]> --------- Co-authored-by: fromitive <[email protected]> * feat: 홈화면(공모목록) UI 추가 구현 및 상태 변경 대응 (#142) * feat: 공모의 상태 변경이 반영되도록 기능 구현 * feat: 공모 목록 ui변경 * feat: 필터 ui추가 * feat: API변경에 따른 DTO수정 * style: lint적용 * feat: resource추가 * refactor: ui위치 수정 * chore: 불필요한 괄호 제거 * refactor: item 수직 정렬 * feat: 댓글방 메시지 조회 시 commentId 필드 추가 (#150) Co-authored-by: fromitive <[email protected]> * feat: OG 태그 크롤링 API 구현 (#148) * feat: OG 태그 크롤링 API 구현 Co-authored-by: fromitive <[email protected]> * refactor: OG 태그 크롤링 API 엔드포인트 수정 Co-authored-by: fromitive <[email protected]> --------- Co-authored-by: fromitive <[email protected]> * refactor: 제품 코드와 API 문서 동기화 (#153) * refactor: API 문서 개선 (#157) * refactor: 댓글 작성 시 성공 상태 코드 변경 Co-authored-by: fromitive <[email protected]> * refactor: 요청 필수 상태 설명 추가 Co-authored-by: fromitive <[email protected]> --------- Co-authored-by: fromitive <[email protected]> * feat: s3 이미지 업로드 API 구현 (#147) * feat: s3 이미지 업로드 API 구현 * chore: cicd 액션 범위 수정 * fix: 이미지 업로드 경로의 특수문자 제거 * chore: yml multipart 설정 추가 * chore: S3 업로드 결과 테스트 * fix: inputstream 변환로직 위치 이동 * fix: 업로드할 s3 path 올바르게 수정 * fix: 사진 url 속에 버킷이름을 cloudfront 도메인으로 수정 * chore: actions 범위 재조정 * feat: API endpoint 변경 * chore: docker image 지우는 작업을 마지막으로 이동 * chore: 다른 브랜치로 이전 커밋 이동하기 위해 제거 * chore: 충돌 해결 및 코드 스타일 변경 * test: S3 이미지 업로드 성공 케이스 추가 * test: multipart form data 문서화 * test: 공모 상태 enum 문서화 Co-authored-by: fromitive <[email protected]> * feat: 파일 업로드 크기 제한 100MB에서 20MB로 변경 --------- Co-authored-by: Choo <[email protected]> Co-authored-by: fromitive <[email protected]> * feat: 주소검색 기능구현 (#161) * refactor: 네이밍 컨벤션 적용 * build: webview 라이브러리 추가 * feat: 스크립트 실행위한 html파일 추가 * refactor: 인터페이스명 변경에 따른 변경 * feat: 주소검색 다이얼로그 레이아웃 작성 * feat: 주소검색 기능 구현 * style: lint적용 * refactor: 불필요한 코드 제거 * build: Firebase의존성 추가 (#165) * feat: 공모글 작성 API 연결 (#162) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 공모글 작성 API 연결 구현 * feat: 공모글 작성 뷰모델 구현 * fix: edit text 데이터바인딩 추가 * chore: 테스트를 위해 MutableLiveData default값 넣어둠 * chore: deadline defualt값 형식에 맞게 수정 * feat: 글작성 화면을 액티비티에서 프래그먼트로 수정 * chore: 테스트목적이었던 주석과 mutable livedata 디폴트값 제거 * refactor: 임시 함수명 수정 * fix: 글작성 프래그먼트가 올라오기 전에 바텀 네비게이션이 사라지는 문제 수정 * feat: 필수 항목이 모두 입력되어야 버튼이 활성화 되는 기능 구현 * feat: 가격, 총원 입력이 잘못되었을 시 토스트를 띄우는 기능 구현 * fix: 버튼 비활성화 시 텍스트 변경 * feat: 앱 아이콘 변경 * feat: 앱 이름 변경(chongdae -> 총대마켓) * feat: 예상 엔빵 가격을 보여주는 기능 구현 * refactor: 상수화 * refactor: 예상 엔빵 가격에 ,가 들어가는 기능 구현, 콜론 뒤 white space 추가 * feat: 공구 할인율을 계산해 주는 기능 구현 * feat: +, - 버튼으로 총원을 조절하는 기능 구현 * fix: 할인율과 엔빵가격 계산 시 0으로 나눠지는 상황을 제거 * fix: 맞춤법 수정 할인률 -> 할인율 * fix: 총원 버튼 크기가 너무 작아서 확대 * fix: 항목간 간격이 좁아서 확대 * refactor: Offering Write의 API service, DataSource, Repository를 Offerings와 합침 * refactor: 디버깅용 코드 삭제 * refactor: 버튼 활성화/비활성화를 selector와 삼항연산자로 구현 * refactor: 바인딩어댑터 대신 뷰모델이 visibility 상태를 갖고 있는 방식으로 변경 * refactor: 바인딩어댑터 대신 xml에서 처리하는 방식으로 변경 * refactor: 총원 디폴트 라이브데이터값 상수화 * refactor: +, - 텍스트뷰 버튼으로 수정 * refactor: textStyle bold대신 fontFamily suit_bold를 쓰는 것으로 수정 * refactor: 변수명 뒤에 Int를 붙이는 것 대신 Value를 붙이는 것으로 수정 * refactor: 글작성 제출 버튼의 아이디를 추가 * refactor: ktFormat * refactor: 토스트를 띄우는 함수 분리 * refactor: 도메인 객체 분리 * refactor: UI모델 적용 * refactor: ktFormat 적용 * feat: 댓글방 디테일 Room을 사용하여 data 저장 (#166) * feat: local database 구현 * feat: entity 구현 * feat: dao 구현 * feat: LocalDataSourceImpl 구현 * feat: entity mapper 구현 * refactor: CommentResponse 에 id 값 추가 * refactor: datasource 이름 변경 및 패키지 변경 * refactor: article -> offering으로 네이밍 변경 * refactor: repository 패키지 변경에 따른 수정 * refactor: datasource 패키지 변경 및 local 과 remote 분리 * refactor: repository Application 클래스를 통한 주입으로 변경 * style: ktlint 적용 * refactor: api service 리네이밍 * refactor: git conflict 해결 * refactor: 함수 이름 컨벤션에 맞도록 변경 (getMeetings -> fetchMeetings) * chore: CI 스크립트 추가 (#173) * chore: ci 스크립트 추가 * chore: ci 스크립트 수정 * fix: og 태그 추출 시 크롤링 이슈 해결 (#174) * feat: 날짜, 시간 선택 기능 구현, 주소검색 기능 연결 (#171) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 모집마감 시간 클릭 시 date time picker를 띄우는 기능 구현 * feat: 날짜, 시간 선택 기능 구현 * feat: 주소 검색 기능 연결 * refactor: 함수명 수정, 함수분리 * refactor: ktFormat 적용 * refactor: string으로 분리, 상수화 * fix: string 수정 * chore: CI workflow 파일 수정 * chore: CI workflow 파일 수정 * chore: CI workflow 파일 수정3 * chore: CI workflow 파일 수정4 * feat: 공모가 정상적으로 게시되었을 시 "공모가 게시되었어요!" 라는 토스트를 띄우고 공모글 작성 프래그먼트를 종료하는 기능 구현 * feat: 토스트가 화면 중앙에 뜨는 문제 수정 * refactor: 사용되지 않는 파일 삭제 * refactor: xml 뷰 id 수정 * refactor: 버튼이 TextView인 문제 수정 * refactor: 사용되지 않는 data binding variable 제거 * refactor: 함수명 수정 * refactor: 다이얼로그, dateTimePickerBinding 전역으로 선언 * refactor: dateTimePicker 클릭 이벤트를 추상화 해 xml에서 처리하도록 변경 * refactor: ktFormat * feat: 상품 URL 이미지 추출 API 연결 (#180) * refactor: 사용하지 않는 파일 제거 * refactor: 가시성 변경 * feat: api service 구현 * feat: datasource 구현 * refactor: repository 네이밍 수정 (offeringsRepository -> offeringRepository) * feat: 사진 업로드 관련 리소스 파일 추가 * feat: repository 및 model 구현 * feat: 이미지 링크를 통한 크롤링 이미지 불러오는 api 연결 및 이미지 삭제 로직 구현 * style: ktlint 적용 * refactor: 이미지 prefix 추가 및 에러 메시지 수정 * refactor: build 오류 수정 * fix: git conflict 해결 * feat: 공모 목록 조회 API에 필터링과 검색 기능 추가 (#169) * feat: 공모 필터 목록 조회 API 구현 * test: 공모 필터 목록 조회 API 테스트 * style: 개행 형식 통일 * feat: 공모 필터 목록 조회 API Specification 도입 준비 * fix: url에 큰따움표 제거 * feat: Specification 도입 * refactor: queryString 구체화 * refactor: 함수명 변경 * feat: 최신순 필터링 적용 * feat: 마감임박순 필터링 적용 * feat: 높은할인률순 필터링 적용 * refactor: 전략 패턴 적용해 여러 갈래의 분기문과 중복되는 코드 처리 * test: 변경된 API 스펙에 맞게 문서화 작업 * refactor: 관련있는 메서드들끼리 모이게 순서 재배치 * refactor: 맞춤법 수정 * style: 개행 제거 --------- Co-authored-by: masonkimseoul <[email protected]> * feat: 상태 변경 API 구현 (#175) * feat: 댓글방 상태 변경 및 조회 API 구현 Co-authored-by: masonkimseoul <[email protected]> * feat: 공모글 상태 조회 API 구현 * feat: 댓글방 상태 변경 중 수동 확정 기능 구현 * refactor: 상태 변경 관련 메서드명 수정 * refactor: 추상 클래스 메서드 컨벤션 통일 * refactor: errorCode 사용 시 클래스 명시 * refactor: 댓글방 상태 관련 API 엔드포인트 수정 및 패키지 변경 * refactor: 댓글방 상태 변경 API HTTP 메서드 수정 * feat: 공모 모집 자동 확정 시 댓글방 상태 변경 --------- Co-authored-by: masonkimseoul <[email protected]> Co-authored-by: Choo <[email protected]> * feat: 로그인 기능 구현 (#177) * feat: password 일방향 암호화 기능 구현 * feat: cookie 생산-소비 기능 구현 * chore: jwt 관련 의존성 추가 * feat: 토큰 생성 기능 구현 * feat: 로그인 API 구현 * test: 로그인 API 테스트 * feat: 회원가입 API 구현 * test: 회원가입 API 테스트 * feat: 닉네임 생성 기능 구현 * test: 닉네임 생성 기능 테스트 * fix: postconstruct 여러 개라 발생한 에러 해결 * feat: 회원가입 응답값에 랜덤생성한 닉네임 추가 * feat: MemberArgumentResolver 구현 * feat: MemberArgumentResolver 일부 적용 * test: 바뀐 스펙에 맞게 변경 * test: TestConfig 설정해 빈충돌 오류 해결 * test: 공모 작성 API로 MemberArgumentResolver 사용 * feat: 토큰 재발급 API 구현 * test: 토큰 재발급 API 테스트 * test: 토큰 재발급 API 에러 테스트 * feat: MemberArgumentResolver commant에 적용 * feat: MemberArgumentResolver offering에 적용 * feat: MemberArgumentResolver participant에 적용 * refactor: ci값이 일치하지 않을경우 오류메시지 문구 변경 * refactor: 클래스명 일관적으로 변경 * refactor: 직관적인 명명으로 enum 네이밍 변경 * refactor: Custom Exception 적용 * refactor: 컨트롤러 메서드에 접근제어자 명시 * fix: 중복된 enum 값 제거 * test: 바뀐 API 스펙에 맞게 변경 --------- Co-authored-by: fromitive <[email protected]> * fix: nicknameWordInitializer 설정 오류 해결 (#182) * fix: keyword null일 때 처리 및 docs에서 required 제거 (#184) * fix: keyword null일 때 처리 * test: optional() 붙여서 required 제거 * chore: 브랜치에 상관없이 pr 머지 시 자동으로 관련 이슈 닫는 스크립트 구현 (#187) * fix: og 이미지 태그 크롤링 문제 해결 (#190) * refactor: 댓글방 상태 도메인 설계 변경 (#189) * feat: 공모 목록 API 응답값에 낱개 가격 추가 (#193) * chore: readtimeout 5초로 수정 (#195) * feat: 댓글방 상태 조회 시 상태별 이미지 함께 반환 (#196) * feat: 공모 목록 조회 API연결 (#201) * refactor: Condition 수정에 따른 변경 * refactor: api변경에 따른 리팩토링 * refactor: api변경에 따른 목록 무한 스크롤 기능 리팩토링 * feat: 검색 기능 구현 * feat: 필터링 기능 구현 - 참여 가능은 서버 에러로 추후 추가 예정 * feat: 아이템을 불러온 후 recyclerview의 최상단으로 이동하는 기능 구현 - 검색, 필터링 수행 후 최상단으로 이동 * feat: 필터링 목록 불러오는 api연결 * feat: 마감임박 상태 추가 * refactor: default parameter제거 * style: lint적용 * feat: 토큰 반환 시 cookie가 아닌 body 사용하도록 변경 (#206) * feat: 발급한 토큰을 header가 아닌 body로 반환하도록 수정 * refactor: 사용안하는 클래스와 메서드 제거 * test: 바뀐 API 스펙에 맞게 명세 수정 * feat: 이미지 더미 데이터 수정 및 부정확한 가격 데이터 수정 (#207) * refactor: 공모 글 작성 시 총대 참여자 추가 (#208) * feat: 바텀 네비게이션 고정 기능 구현 (#211) * feat: 데이터에서 5자 이상 제거 (#212) * feat: n빵 가격이 낱개가격보다 큰경우 예외가 발생하도록 변경 (#202) * feat: n빵 가격이 낱개가격보다 큰경우 예외가 발생하도록 변경 * refactor: 도메인 명칭 변경 (낱개가격 -> 원가격) * refactor: 도메인 명칭 변경 (공모 -> 댓글방) * refactor: originPrice로 http client 변경 * feat: 키보드 이외 영역 터치 시 키보드 내려가도록 구현 (#214) * feat: 키보드외 화면 클릭 시 키보드 내려가도록 구현 * refactor: api변경에 다른 dto수정 * feat: 이미지 업로드 및 권한 설정 (#216) * chore: 이미지 권한 추가 * feat: permission manager을 생성하여 권한 체크 및 request * feat: 이미지 추가 버튼을 클릭할 시 권한 설정 연결 * feat: 이미지 피커를 사용하여 uri 전달 구현 * feat: 이미지 파일 업로드 api service 구현 * feat: 이미지 파일 업로드 data source 구현 * feat: 이미지 파일 업로드 repository 구현 * feat: 이미지 파일 martipart로 변환해주는 기능 구현 * feat: 이미지 업로드 관련 뷰 수정 * feat: 이미지 파일 업로드 및 api 연결 구현 * style: ktlint format * fix: git conflict 해결 * refactor: 이미지 scaleType 변경 * refactor: string value 컨벤션 적용 * feat: 토큰 반환 시 body가 아닌 cookie로 반환하도록 원상복구 (#223) * feat: 토큰 재발급 API에서 requestHeader로 refreshToken 받도록 수정 (#227) * feat: 토큰 재발급 API에서 body가 아닌 cookie로 토큰 반환 * feat: 회원가입 API도 body가 아닌 cookie로 토큰 반환 * refactor: service 용 dto 명 컨벤션에 맞춰 수정 * feat: 댓글방 일정 수정 API 구현 (#226) * feat: 댓글방 일정 수정 API 구현 * test: 총대가 아닌 참여자가 공모 일정 정보를 수정할 경우 예외 발생 * feat: 댓글방 상태 조회 시 버튼 텍스트 추가 (#229) * feat: 검색 시 해당 키워드의 색상을 변경하는 기능 구현 (#222) * feat: 검색 시 해당 키워드의 색상을 변경하는 기능 구현 * refactor: 구현 방식 변경 * style: lint적용 * Feature/217 offering status (#230) * feat: 댓글방 상태 조회 api service 구현 * feat: 댓글방 상태 조회 model 및 dto 구현 * feat: 댓글방 상태 조회 datasource 구현 * feat: 댓글방 상태 조회 repository 구현 * feat: 댓글방 상태 조회 api 연결 구현 * style: ktlint 적용 * feat: 댓글방 상태 변경 (#231) * feat: 댓글방 상태 변경 api service 구현 * feat: 댓글방 상태 변경 data source 구현 * Revert "feat: 댓글방 상태 변경 data source 구현" This reverts commit 052691a8de945c60a60586ee66a05a6a3b264217. * feat: 댓글방 상태 변경 data source 구현 * feat: 댓글방 상태 변경 repository 구현 * feat: 댓글방 상태 변경 api 연결 구현 * style: ktlint 적용 * feature: 카카오 로그인 구현 (#235) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 카카오 로그인 기능 초기 설정 * feat: 카카오 로그인 기능 구현 * feat: 카카오 로그인 UI 구현 * feat: 카카오 로그인 구현 * feat: 카카오 로그인 - 회원가입 기능 구현 * feat: 카카오 로그인 버튼 이미지 다운로드 * refactor: 함수명 수정 * refactor: 필요 없는 파일 제거 * refactor: 패키지 이동 * feat: 데이터 스토어에 memberId, nickName 저장하는 기능 구현 * feat: 로그인 post 기능 구현 * feat: 로그인 시도 후 실패할 경우 회원가입 하는 기능 구현 * fix: 바뀐 auth api 적용 * feat: 서기 pr 충돌 해결 * fix: api 필드명 수정 * refactor: ktFormat 적용 * fix: 테스트용 임의 문자열 제거 * feat: CookieJar 구현 * feat: API 수정에 맞춰 서비스 함수 수정 * refactor: 사용되지 않는 코드 제거 * refactor: http 상태 코드 enum 클래스로 묶음 * feat: 공모 참여자 목록 조회 API 구현 (#225) * feat: 공모 참여자 목록 조회 API 구현 * test: 실패 테스트 오류 수정 * style: 띄어쓰기 적용 * refactor: MemberEntity를 받도록 변경 * refactor: isParticipant를 구현하여 가독성 개선 * refactor: 총대를 찾을 수 없는 상황의 예외 추가 * refactor: 참여 검증로직을 서비스로 이동 * refactor: 사용하지 않는 메서드 제거 * refactor: 검증 로직 가장 상단에 위치 * refactor: 총대 추출 로직 수정 --------- Co-authored-by: masonkimseoul <[email protected]> Co-authored-by: SCY <[email protected]> * refactor: 마감임박순 필터링 쿼리 조건 수정 (#239) * refactor: 마감임박순 필터링 조건 수정 * refactor: 더미 데이터 시간 수정 * fix: 필터링 오류 수정 (#243) * fix: 원 가격이 없는 경우 n빵 가격을 비교하지 않도록 변경 (#247) * feat: 공동구매 상태 변경 다이얼로그 구현 (#245) * feat: 공동구매 상태 변경 다이얼로그 view 구현 * feat: 공동구매 상태 변경 다이얼로그 Listener 구현 * feat: 공동구매 상태 변경 다이얼로그 연결 및 상태 변경 로직 수정 * test: 테스트 코드 작성을 위한 기본 세팅 (#255) * feat: CoroutinesTestExtension 구현 * feat: Livedata getOrAwaitValue 구현 * feat: InstantTaskExecutorExtension 구현 * feat: TestFixture 생성 * style: ktlint 적용 * feat: 공모글 목록 화면 UI 개선, 공모글 작성에서 낱개 금액이 엔빵 가격보다 저렴할 시 글 작성 막는 기능 구현 (#246) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * feat: 카카오 로그인 기능 초기 설정 * feat: 카카오 로그인 기능 구현 * feat: 카카오 로그인 UI 구현 * feat: 카카오 로그인 구현 * feat: 카카오 로그인 - 회원가입 기능 구현 * feat: 카카오 로그인 버튼 이미지 다운로드 * refactor: 함수명 수정 * refactor: 필요 없는 파일 제거 * refactor: 패키지 이동 * feat: 데이터 스토어에 memberId, nickName 저장하는 기능 구현 * feat: 로그인 post 기능 구현 * feat: 로그인 시도 후 실패할 경우 회원가입 하는 기능 구현 * fix: 바뀐 auth api 적용 * feat: 서기 pr 충돌 해결 * fix: api 필드명 수정 * refactor: ktFormat 적용 * fix: 테스트용 임의 문자열 제거 * feat: CookieJar 구현 * feat: API 수정에 맞춰 서비스 함수 수정 * refactor: 사용되지 않는 코드 제거 * refactor: http 상태 코드 enum 클래스로 묶음 * fix: 구분선을 각각의 아이템의 하단에 넣고 프래그먼트 뷰의 "채팅" 텍스트 밑에 하나 추가 * fix: 텍스트뷰에 font 적용, 마지막 댓글 시간 텍스트를 조금 왼쪽으로 이동 * fix: 낱개 가격 이름을 eachPrice -> originPrice 수정 * fix: 낱개 가격이 엔빵 가격보다 싸면 토스트를 띄우고 글작성을 막는 기능 구현 * fix: 네이티브앱키 로컬프로퍼티로 이동 * refactor: 함수명 변경 * fix: 카카오 계정으로 로그인 후 액티비티 전환하지 않는 문제 수정 * refactor: 사용되지 않는 클래스 삭제 * refactor: 패키지 수정 * refactor: alsong 로그 수정 * refactor: 변수명 수정 * refactor: Manifest의 네이티브앱 키 숨김 * refactor: 로컬프로퍼티의 데이터 형식 수정 * Update android.yml * refactor: alsong 로그 삭제 * ci 빌드 실패가 manifest때문인지 테스트 * refactor: 매니페스트에 앱 키 넣을 수 있게 하는 gradle 설정 수정 * 매니페스트 수정하고 재테스트 * 매니페스트 수정하고 재테스트 * chore: 그래들 수정 * chore: 그래들 수정2 * chore: 그래들 수정3 * chore: 그래들 수정4 * chore: 카카오 계정으로 로그인하는 기능 제외 * feat: 홈화면 테스트 작성 (#257) * chore: mockk의존성 추가 * test: OfferingViewModel 테스트 작성 * style: lint적용 * refactor: stub를 TestFixture로 이동 * test: 댓글방 테스트 코드 작성 (#258) * refactor: 댓글 보내는 함수명 변경 * refactor: 공구 약속 장소 및 시간 캐시 기능 * test: 테스트를 위한 fake repository 구현 * test: 댓글방 viewmodel test 작성 * feat: 댓글방 ActivityTest 작성 * feat: 댓글방 ActivityTest 작성 * style: ktlint 적용 * refactor: test fixture에서 사용하지 않는 것 삭제 * style: ktlint 적용 * feat: GA 모니터링 환경 구축 및 로깅 전략 적용 (#242) * chore: Firebase Crashlytics 의존성 추가 * feat: Firebase 초기화 * feat: FirebaseManager 구현 * feat: 총대가 공구 진행 상황을 다음 단계로 변경했을 때 event 추가 * feat: 로깅 기능 구현 - 검색 - 필터링 - 공모글 클릭 - 공모 참여 * style: lint적용 * feat: 글 작성 완료 시 event 추가 * feat: 로그인 시 event 추가 --------- Co-authored-by: Namyunsuk <[email protected]> Co-authored-by: songpink <[email protected]> * test: 공모글 작성 이미지 테스트 코드 작성 (#260) * refactor: 상수 가시성 변경 * feat: test fixture 구현 * feat: fake repository 이미지 업로드 기능 추가 * test: OfferingWriteViewModelTest 이미지 업로드 test 코드 작성 * feat: 로그인 후 홈화면으로 이동해도 로그인 화면이 종료되지 않는 문제 수정 (#261) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * fix: 로그인 후 LoginActivity가 종료되도록 수정 * feat: 공모 상세 화면 테스트 작성 (#264) * feat: OfferingDetailViewModel 테스트 작성 * refactor: 테스트 수정 * style: lint적용 * style: lint적용 * feat: 로깅 코드 삽입 (#266) * fix: 원 가격이 없는 경우 n빵 가격을 비교하지 않도록 변경 * feature: 로깅 샘플 구현 * refactor: 불필요한 코드 제거 * feat: logging 적용 --------- Co-authored-by: fromitive <[email protected]> * fix: 마감 임박 필터링 쿼리 수정 (#267) * chore: logback 설정 진행 (#270) * chore: logback 설정 * fix: multipart 요청 필터링 * chore: logback 설정 변경 * chore: pull request ci/cd 닫기 * fix: 이미지 업로드 API의 responseBody가 두 번 뜨는 오류 해결 (#273) * fix: 이미지 업로드 API 두 번 도는 문제 해결 * test: 이미지 업로드 API의 누락된 response field 추가 * refactor: 홈화면 수정 (#271) * refactor: 할인율 마진 추가 * refactor: 공구상태에 대한 문구 수정 * refactor: 클릭 시 최상단으로 이동하는 버튼 구현 * feat: 공모글 작성 화면 테스트코드 작성 (#274) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * test: 공모글 작성 테스트 구현 * feat: 댓글방 목록 화면 테스트코드 작성 (#276) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * test: "댓글방 목록을 확인할 수 있어야 한다" 테스트 작성 * feat: pageSize validation 추가 (#279) * feat: pageSize validation 추가 * feat: magic number 추출 * fix: 공모 상세 화면 오류 수정 (#280) * fix: 총대 여부 확인 로직 수정 * fix: 마감 임박 시 보여주는 버튼 수정 * fix: 공모 작성 후 홈화면으로 돌아왔을 떄 목록이 새로고침 되지 않는 오류 수정 * test: 테스트 코드 수정 * style: lint적용 * feat: 댓글방 목록 화면 자동 업데이트 되지 않는 문제 수정, 회원가입 이후 자동으로 로그인되지 않는 문제 수정 (#282) * refactor: 뷰모델 팩토리를 뷰모델의 companion object에서 구현하는 방식으로 변경 * fix: 라이플사이클 오너 설정 * fix: 회원가입 후 자동으로 로그인 되도록 수정 * chore: change version name (#291) * feat: 카카오 계정 로그인 기능 구현 시 CI가 실패하는 문제 해결 (#296) * fix: ci가 실패하는 문제 수정(오타수정..) * fix: 카카오 계정 로그인 기능 추가 * feat: 로그인 화면 리팩토링 (#298) * fix: ci가 실패하는 문제 수정(오타수정..) * fix: 카카오 계정 로그인 기능 추가 * refactor: SimpleCookieJar의 패키지 변경(presentation 레이어에서 data레이어의 source 패키지로 이동) * refactor: data store를 관리하는 클래스를 생성하고 이 클래스를 사용하도록 변경 * refactor: 사용하지 않는 의존성과 주석 제거 * refactor: http status code 추가 * refactor: 함수분리 * refactor: ktFormat 적용 * feat: 액세스 토큰 만료 시 토큰 재발급 기능 구현(CommentRooms) * feat: 액세스 토큰 만료 시 토큰 재발급 기능 구현(CommentDetail), 사용되지 않게 된 memberId 제거 * refactor: ktFormat 적용 * test: 테스트코드 수정 * refactor: Preferences -> DataStore 이름 변경 * refactor: 채팅방 UI UX 개선 (#303) * feat: 키보드가 아닌 다른 영역을 클릭하면 키보드 내리는 기능 구현 * feat: 뒤로가는 버튼 기능 추가 * feat: 댓글 입력 maxLines 설정 및 maxLength 설정 * style: ktlint 적용 * 필요 없는 코드 제거 * feat: 댓글방 목록에서 자신이 총대인 댓글방의 UI 개선 (#304) * refactor: 댓글방의 자신이 총대인 댓글방 ui 개선 * fix: Binding 클래스 네이밍 수정 * feat: 가로모드, 다크모드 설정 (#305) * refactor: api변경에 따른 리팩토링 (#310) * feat: 로그인 화면 해상도 대응 (#313) * feat: 이미지 업로드 중일 때 로딩 상태 설정 (#317) * feat: 공모 글 작성 ui state 구현 * feat: 로딩 progressbar 생성 * feat: UI 상태에 따른 토스트 메시지 처리 * refactor: 잘못된 입력에 대한 에러 처리 변경 * refactor: 홈화면 리팩토링 (#324) * refactor: textSize dp로 변경 * refactor: 검색 버튼 크기 변경 - 검색 버튼 패딩 추가 - 검색창 끝에 패딩 추가 * refactor: 엔터키를 통해 검색하도록 수정 * refactor: 필터 단일 선택되도록 수정 * style: lint적용 * feat: 댓글방 새로운 기능 GA 연결 (#328) * feat: 댓글방 참여자 확인 Event 구현 * feat: 댓글방 상태 변경 다이얼로그 취소 Event * feat: 참여자가 공구에서 참여 포기 Event 구현 * style: ktlint 적용 * test: 테스트 데이터 수정 (#330) * feat: Fragment GA 모니터링 수집 (#332) * feat: fragment logScreenView 추적 함수 구현 * feat: 각 fragment에서 화면 감지 GA 설정 * feat: 마이페이지 기본 세팅 및 뷰 변경 (#335) * feat: 공모 참여 취소 기능 구현 (#318) * test: 공모 참여 취소 테스트코드 작성 * feat: 공모 참여 취소 기능 구현 * refactor: 불필요한 쿼리 메서드 제거 * style: 불필요한 개행 제거 * refactor: 모집중인 상태가 아닌 경우 공모 참여를 취소할 수 없도록 변경 * refactor: 공모 참여 취소 응답 상태 코드 변경 * refactor: 에러 메시지 명확한 문구로 변경 * refactor: query parameter를 적용해 어떤 공모의 참여를 취소할 것인지 의도를 명확하게 전달하도록 변경 * refactor: 총대 검증 메서드 네이밍 명확하게 변경 * feat: 댓글방 생성 시점 변경 (#319) * feat: 댓글방 생성 시점 변경 * refactor: 불필요한 도메인 OfferingWithRole 제거 * refactor: 불필요한 도메인 CommentWithRole 제거 * refactor: 댓글의 작성자 확인 메서드 추가 * refactor: 댓글방 목록 조회 dto 생성자 추가 * feat: 로그인 API 응답에 memberId와 nickname 필드 추가 (#322) * feat: 로그인 API 응답에 memberId와 nickname 필드 추가 * refactor: 로그인용 dto 분리 및 공통 dto에 prefix로 auth 추가 * feat: valid 어노테이션 추가 * feat: 공모 상세 조회 API 응답에 총대여부 알려주는 boolean 필드 추가 (#323) * refactor: 메서드명 구체적으로 변경 * refactor: 변수명 구체적으로 변경 * feat: 공모 상세 조회 API 응답에 총대여부 알려주는 boolean 필드 추가 * docs: todo 추가 * refactor: 함수명 통일 * feat: 공모자 여부 필드명 변경 * feat: 댓글방 상태 조회 API 확장 (#325) * feat: 댓글방 상태 조회 API 확장 * refactor: 댓글방 관련 로직 댓글 도메인으로 이동 * feat: LoggingFilter에서 던지는 유효하지 않은 요청에 대한 예외 처리 * refactor: 댓글 관련 엔드포인트 수정 * feat: 댓글방 정보 조회 시 조회 권한을 가진 사용자인지 검증 * refactor: 댓글방 상태 확인 로직 도메인으로 이동 * feat: 상태 변경을 시도하는 사용자가 총대인지 검증 * refactor: 댓글 목록 조회 엔드포인트 수정 * feat: ParticipantResponse에 참여 인원 현황, 예상 정산 가격 추가 (#327) * feat: ParticipantResponse에 참여 인원 현황, 예상 정산 가격 추가 * refactor: Response depth 줄이기 및 DTO 생성자 작성 * fix: imminent 필터 버그 해결 (#337) * fix: 커스텀 필터로 인해 h2-console 접속 깨지는 이슈 해결 (#339) * feat: 마이페이지 기능 구현 (#341) * feat: 마이페이지 닉네임 기능 구현 * feat: 로그아웃 로직 구현 * feat: url 연결 로직 구현 * feat: 필요없는 기능 삭제 * style: ktlint 적용 * feat: 공모 테이블에 할인율과 상태 필드 추가 (#342) * refactor: Condition과 Status 이름 변경 * refactor: 사용하지 않는 DTO 제거 * feat: OfferingEntity에 칼럼 추가 * feat: 공모 거래 날짜 필드 이름 변경 (#348) * fix: 상세화면에서 홈화면으로 갔을 때 상태 변경 안되는 오류 수정 (#343) * refactor: 공모상세페이지 Activity -> Fragment로 리팩토링 * fix: 페이지네이션 및 상태변경 미적용 오류 해결 * refactor: 리팩토링에 따른 테스트 수정 * refactor: 주석 제거 및 상수화 * refactor: livedata 자료형 변경 * refactor: progressbar위치 수정 * refactor: lifecycleScope사용 리팩토링 * refactor: adapter에서 전체 아이템이 아닌 특정 아이템만 notify하도록 리팩토링 * refactor: API변경에 따른 대응 (#352) * refactor: api대응 * refactor: api변경에 따른 테스트 수정 * feat: 공모글 작성 화면 ux 개선 (#344) * fix: 각 항목의 설명을 place holder로 이동 * fix: 필수와 선택 항목의 프래그먼트 분리 * feat: 버튼이 항상 보이도록 수정 * fix: 가격과 총원은 숫자만 입력받도록 변경 * fix: 패딩 수정 * fix: ui 수정 * fix: 도메인 변경에 따른 deadline -> tradeDate 수정 * feat: 필수 항목을 모두 입력하면 선택 항목 화면으로 이동하는 기능 구현 * refactor: ktFormat 적용 * refactor: shared viewModel 사용, 미필수 항목을 미필수 입력 화면으로 이동 * refactor: 프래그먼트 이름 변경 * feat: 입력 숫자의 글자수와 라인수 제한 기능 구현 * fix: 총원이 -1이하로 떨어지는 버그 수정, 공동구매 텍스트 띄어쓰기 제거 * fix: 할인율, 엔빵 금액이 유효하지 않을 때는 "-"로 뜨도록 변경 * fix: 공모를 게시하면 필수, 선택 화면 모두 종료되도록 수정 * fix: 날짜 시간 픽커를 날짜만 선택하는 픽커로 변경 * refactor: ktFormat 적용 * refactor: 바인딩어댑터의 파라미터를 nullable하게 수정 * test: 테스트코드 수정 * feat: 낱개 가격의 place holder로 현재 엔빵 금액을 보여주는 기능 구현 * feat: 내용의 최대 글자수와 현재 글자수를 보여주는 기능 구현 * refactor: ktFormat 적용 * refactor: 공모글 작성시 memberId를 보내지 않도록 변경 * fix: 총원 최대 4자리에서 3자리까지만 입력받을 수 있도록 변경 * fix: deadline -> meetingDate 네이밍 수정 * fix: 공모글 작성 후 작성 화면의 입력값이 초기화되지 않는 버그 수정 * refactor: 네이밍 수정(eachPrice -> originPrice) * refactor: 네이밍 수정(individualPrice -> originPrice) * fix: 내용의 현재 글자수 색이 메인컬러가 되지 않는 문제 수정 * refactor: 프래그먼트 종료될 때 바인딩 해제하도록 수정 * refactor: id가 없는 뷰의 id 추가 * refactor: 함수 분리 * fix: 내용 옆의 * 제거 * fix: GA 이벤트 이름 변경(공모글 작성 - 필수 화면에서의 이벤트임을 명시함) * refactor: og 태그 추출 기능 수정 (#349) * refactor: crawler 패키지 이동 * feat: naver api 클라이언트 추가 refactor: 사용하지 않은 기존 og image 크롤러 명칭 변경 * feat: html 크롤링 방식과 naver api 방식을 조합하는 Extractor 구현 * fix: OfferingService ProductImageExtractor 추상화 * feat: 로그인 시에도 memberId와 nickName을 받아서 data store에 저장하는 기능 구현 (#358) * feat: 로그인 시에도 memberId와 nickName을 받아서 data store에 저장하는 기능 구현 * test: 테스트코드 수정 * refactor: 공모글 목록 조회 필터링 수정 및 추가 (#356) * refactor: 마감임박순 필터링 이름 마감임박만으로 변경 Co-authored-by: fromitive <[email protected]> * refactor: 필터링 쿼리 수정 Co-authored-by: fromitive <[email protected]> * feat: "참여가능만" 필터링 기능 구현 Co-authored-by: fromitive <[email protected]> * feat: "참여가능만" 필터링 기능 연결 Co-authored-by: fromitive <[email protected]> * fix: 쿼리 내 불필요한 파라미터 제거 Co-authored-by: fromitive <[email protected]> * refactor: 할인율이 null일 경우 높은할인율 필터링 대상에서 제외 Co-authored-by: fromitive <[email protected]> * feat: 참여가능만 필터링 전략 클래스 추가 * feat: 공모 목록 조회 API 응답값 변경 * fix: 높은 할인율 단위 변경 및 last-id 필터링 로직 수정 * style: 주석 제거 --------- Co-authored-by: fromitive <[email protected]> * refactor: 할인율 계산 로직 수정 (#359) * refactor: 할인율 계산 로직 수정 Co-authored-by: fromitive <[email protected]> * refactor: 소수점 둘째 자리에서 반올림하도록 변경 Co-authored-by: fromitive <[email protected]> * test: 할인율 계산 로직 * fix: 할인율 단위 백분율로 수정 --------- Co-authored-by: fromitive <[email protected]> * feat: 총 모집 인원 수 최댓값 설정 (#361) Co-authored-by: fromitive <[email protected]> * fix: 필터 오류 수정 (#362) * fix: 필터 오류 수정 - '참여가능만'필터 분기처리 제거 * chore: 주석 제거 * �feat: API 스펙 변경에 따른 대응 (#364) * feat: 댓글 목록 조회 api 스펙 변경에 따른 대응 * feat: 댓글방 정보 조회 api 스펙 변경에 따른 대응 * feat: 공모 일정 조회 api 스펙 변경에 따른 대응 * feat: 댓글 상태 변경 api 스펙 변경에 따른 대응 * test: api 스펙 변경에 따른 test 코드 변경 * style: ktlint 적용 * feat: remote dto package 분리 * feat: 자동 확정 기능을 위해 스케줄러 적용 (#363) * chore: todo 추가 및 메서드명 변경 * feat: Scheduled 어노테이션 추가 및 Scheduler 분리 * test: ServiceTest 환경 구축 * feat: offeringStatus 변경 로직 추가 * refactor: 수동 확정 로직 추가 및 코드 스타일 수정 * refactor: 자동 확정 로직을 조회에서 Scheduled로 이동 * fix: 마감임박 설정 기준 내일로 변경 --------- Co-authored-by: Choo <[email protected]> Co-authored-by: SCY <[email protected]> * fix: 공모 작성 후 홈화면 돌아올 때 새로 작성한 글이 보이지 않는 오류 수정 (#369) * feat: Access Token, Refresh Token을 data store에 저장하는 기능 구현 (#372) * feat: 앱 재시작 시 토큰을 데이터스토어에서 꺼내 사용하는 기능 구현 * feat: 로그인이 이미 되어있다면 로그인 화면을 건너뛰는 기능 구현 * feat: 로그아웃 기능 구현 * fix: 마이페이지 화면으로 넘어가면 바텀네비게이션이 사라지는 버그 수정 * fix: 데이터스토어에서 토큰이 꺼내지지 않는 버그 수정 data store에서 토큰을 꺼내는 코루틴 비동기 작업이 끝나기 전에 함수를 종료해 버려서 생기는 버그였습니다. * refactor: ktFormat 적용 * refactor: startActivity 함수를 LoginActivity가 동반객체로 갖고 있도록 변경 * refactor: 함수명과 event명 변경 추가로 GA위치가 조금 잘못된 점이 있어서 수정했습니다. * feat: 공모 상세 화면 추가 기능 반영 (#375) * feat: 신고하기 기능 구현 * feat: 물품 링크가 없으면 보여지지 않도록 구현 * refactor: 마감 시간에서 거래 날짜로 리팩토링 * feat: 이미 참여한 공모게시글에서 채팅방으로 이동하는 기능 구현 * fix: 댓글방 목록의 마지막 댓글방이 보이지 않는 문제 수정 (#376) * fix: 리사이클러뷰 레이아웃의 크기가 화면 밖에 벗어나지 않도록 수정 * fix: 리사이클러뷰 레이아웃의 맨 밑에 구분선 하나 추가 아래로 땡겼을 때 구분선이 사라져버리는게 보기 안좋아서 추가했습니다 * refactor: 코트 포맷 적용 (컨트롤 알트 L) * feat: isManualConfirmed 제거 및 도메인 로직 확인 (#377) * refactor: isManualConfirmed 칼럼 삭제 및 관련 로직 분리 * refactor: 더미 데이터 수정 --------- Co-authored-by: fromitive <[email protected]> * feat: API 별 권한 확인 로직 추가 (#371) * feat: 권한 확인 로직 추가 * feat: 인증 필터 적용 * refactor: 더미 데이터 칼럼 위치 변경 (#382) * refactor: 홈화면 api필드 추가에 따른 대응 (#381) * refactor: dto필드 추가 * fix: 상태 변경 오류 해결 * fix: 필터 선택 또는 검색상태일 때 공모 작성 후 나오면 목록 안보이는 오류 수정 * refactor: 세부 주소 api에서 받아오도록 변경 * style: lint적용 * fix: API 문서에 접근할 수 없는 현상 해결 (#384) * fix: API 문서에 접근할 수 없는 현상 해결 * style: 신뢰할 수 있는 URL 개행 수정 * feat: 공모 목록에서 동을 보여주는 기능 구현 (…
- Loading branch information