Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 공모 제목 및 가격 줄바꿈, 말줄임 되도록 수정 #466

Merged
merged 1 commit into from
Aug 23, 2024

Conversation

Namyunsuk
Copy link
Contributor

@Namyunsuk Namyunsuk commented Aug 23, 2024

📌 관련 이슈

close #451

✨ 작업 내용

공모 제목 최대 1문장, 넘어갈 시 말줄임 하도록 구현

📚 기타

@Namyunsuk Namyunsuk self-assigned this Aug 23, 2024
Copy link
Contributor

@chaehyuns chaehyuns left a comment

Choose a reason for hiding this comment

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

굿

@Namyunsuk Namyunsuk merged commit d81bc88 into develop-AN Aug 23, 2024
3 checks passed
@Namyunsuk Namyunsuk deleted the feature/451-offering-item-error branch August 23, 2024 02:39
ChooSeoyeon added a commit that referenced this pull request Sep 30, 2024
* 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 052691a.

* 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)

* feat: 안드로이드 CD 구축 (#415)

* feat: 안드로이드 CD 구축

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* chore: 버전 변경

* chore: 버전 변경

* feat: 비공개테스트 트랙으로 변경

* feat: 비공개테스트 트랙으로 변경

* chore: 버전 변경

* feat: release로 시작하는 branch에서만 CD 작업

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: 채현 <[email protected]>

* feat: 키보드 이벤트 감지 기능 수정 (#463)

* feat: 이미지 로딩 기능 복원 (#465)

* fix: 공모 제목 및 가격 줄바꿈, 말줄임 되도록 수정 (#466)

* refactor: 홈 화면 UX개선 (#473)

* refactor: 필터 텍스트 크기 수정

* refactor: 검색 결과가 없을 시 텍스트를 통해 명시적으로 알려주도록 수정

* refactor: 검색창에 지우기 버튼 만들기

- 클릭 시 검색 텍스트 지워짐 + 전체 공모 보여지는 초기화면보여주도록

* build: SwipeRefreshLayout의존성 추가

* feat: 하단으로 스와이프 시 새로고침 되는 기능 구현

* refactor: 검색창 문구 변경

* refactor: 채팅 UX 개선 (#479)

* feat: 나의 채팅 글자 크기 조정

* feat: 채팅 전송 사이즈 변경

* feat: 토큰 리프레시가 제대로 이루어지지 않는 오류 수정 (#480)

* fix: Access Token Refresh가 실패하면 이후 로직 처리

* style: ktFormat 적용

* refactor: 필요 없어진 코드 제거

* chore: 필요 없는 주석 제거

* feat: 공모글 작성 시 이전 날짜 선택 불가하도록 수정, Calendar 방식으로 DatePicker를 변경 (#481)

* feat: Date Picker를 달력 형태로 변경

* feat: 현재보다 이전 날짜는 선택할 수 없도록 제한하는 기능 구현

* feat: 멀티 모듈화를 위한 패키지 분리 (#491)

* feat: local 과 remote mapper 분리

* fix: 잘못 import된 코드 수정

* feat: local 및 remote 패키지 분리

* fix: 잘못된 import코드 수정

* feat: common 패키지 생성 및 변경

* feat: auth 패키지 분리

* style: ktlint 적용

* feat: remote 와 local 패키지 data로 이동

* style: ktlint 적용

* feat: error handler 관련 로직 common으로 이동

* refactor: 잘못된 의존성 관계 변경

* feat: DataStore을 common 패키지로 변경

* feat: build.gradle 중복 로직 수정 및 version catalog를 통한 관리

* fix: build 오류 수정

---------

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

* refactor: 의존성 주입 라이브러리(Hilt) 적용 (#500)

* feat: Hilt 의존성 추가

* feat: Auth, CommentRooms Hilt 적용

* feat: Data Store Hilt 적용

* style: ktFormat 적용

* feat: OfferingWrite Hilt 적용

* feat: CommentDetail Hilt 적용

* feat: Participant Hilt 적용

* feat: Assisted Inject 구현

* feat: OfferingDetail Hilt 적용

* feat: ktFormat 적용

* chore: gradle에서 hilt 버전 수정

* refactor: 불필요한 코드 제거

* chore: 중복된 의존성 제거 및 정리

* feat: (빠트린것) MyPageViewModel에 Hilt 적용

* feat: (빠트린것) OfferingDao에도 Hilt 적용

* refactor: 뷰모델 팩토리 제공 함수들 제거

* chore: 안드로이드 버전 v1.1.2로 변경 (#512)

---------

Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: 채현 <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
ChooSeoyeon added a commit that referenced this pull request Oct 11, 2024
* feat: 안드로이드 프로젝트 구조 기초 세팅 (#2)

* 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 052691a.

* 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)

* feat: 안드로이드 CD 구축 (#415)

* feat: 안드로이드 CD 구축

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* feat: 테스트

* chore: 버전 변경

* chore: 버전 변경

* feat: 비공개테스트 트랙으로 변경

* feat: 비공개테스트 트랙으로 변경

* chore: 버전 변경

* feat: release로 시작하는 branch에서만 CD 작업

---------

Co-authored-by: chaehyun <[email protected]>
Co-authored-by: 채현 <[email protected]>

* feat: 키보드 이벤트 감지 기능 수정 (#463)

* feat: 이미지 로딩 기능 복원 (#465)

* fix: 공모 제목 및 가격 줄바꿈, 말줄임 되도록 수정 (#466)

* refactor: 홈 화면 UX개선 (#473)

* refactor: 필터 텍스트 크기 수정

* refactor: 검색 결과가 없을 시 텍스트를 통해 명시적으로 알려주도록 수정

* refactor: 검색창에 지우기 버튼 만들기

- 클릭 시 검색 텍스트 지워짐 + 전체 공모 보여지는 초기화면보여주도록

* build: SwipeRefreshLayout의존성 추가

* feat: 하단으로 스와이프 시 새로고침 되는 기능 구현

* refactor: 검색창 문구 변경

* refactor: 채팅 UX 개선 (#479)

* feat: 나의 채팅 글자 크기 조정

* feat: 채팅 전송 사이즈 변경

* feat: 토큰 리프레시가 제대로 이루어지지 않는 오류 수정 (#480)

* fix: Access Token Refresh가 실패하면 이후 로직 처리

* style: ktFormat 적용

* refactor: 필요 없어진 코드 제거

* chore: 필요 없는 주석 제거

* feat: 공모글 작성 시 이전 날짜 선택 불가하도록 수정, Calendar 방식으로 DatePicker를 변경 (#481)

* feat: Date Picker를 달력 형태로 변경

* feat: 현재보다 이전 날짜는 선택할 수 없도록 제한하는 기능 구현

* feat: 멀티 모듈화를 위한 패키지 분리 (#491)

* feat: local 과 remote mapper 분리

* fix: 잘못 import된 코드 수정

* feat: local 및 remote 패키지 분리

* fix: 잘못된 import코드 수정

* feat: common 패키지 생성 및 변경

* feat: auth 패키지 분리

* style: ktlint 적용

* feat: remote 와 local 패키지 data로 이동

* style: ktlint 적용

* feat: error handler 관련 로직 common으로 이동

* refactor: 잘못된 의존성 관계 변경

* feat: DataStore을 common 패키지로 변경

* feat: build.gradle 중복 로직 수정 및 version catalog를 통한 관리

* fix: build 오류 수정

---------

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

* refactor: 의존성 주입 라이브러리(Hilt) 적용 (#500)

* feat: Hilt 의존성 추가

* feat: Auth, CommentRooms Hilt 적용

* feat: Data Store Hilt 적용

* style: ktFormat 적용

* feat: OfferingWrite Hilt 적용

* feat: CommentDetail Hilt 적용

* feat: Participant Hilt 적용

* feat: Assisted Inject 구현

* feat: OfferingDetail Hilt 적용

* feat: ktFormat 적용

* chore: gradle에서 hilt 버전 수정

* refactor: 불필요한 코드 제거

* chore: 중복된 의존성 제거 및 정리

* feat: (빠트린것) MyPageViewModel에 Hilt 적용

* feat: (빠트린것) OfferingDao에도 Hilt 적용

* refactor: 뷰모델 팩토리 제공 함수들 제거

---------

Co-authored-by: 채현 <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: alsong <[email protected]>
Co-authored-by: chaehyun <[email protected]>
Co-authored-by: Namyunsuk <[email protected]>
Co-authored-by: songpink <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants