-
Notifications
You must be signed in to change notification settings - Fork 1
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
deploy: 스타카토 v1.0.0 #310 #311
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* ui: color 정의 * ui: shape, selector 추가 * ui: icon 추가 * ui: font family 추가 - pretendard regular, medium, semibold, bold 추가 * ui: typography 정의 * ui: strings 정의 * ui: bottom sheet drag handle drawable 추가 * ui: styles 정의 * ui: detail toolbar 구현 - 상세 화면에서 사용 * ui: dialog, bottom sheet 구현 - 여행 및 방문 기록 삭제 dialog - 사진 등록 bottom sheet * ui: 사진 첨부 layout 구현 * feat: 삭제 다이얼로그, 사진 첨부 바텀 시트 fragment 추가 * ui: 세로모드로 고정 * build: data binding 의존성 추가 * style: strings resource 순서 정렬 * style: formatting * ui: plus icon 추가
* build: androidx.navigation 및 dataBinding 의존성 추가 * feat: Binding 화면 클래스 및 bottomSheetNavigation 추가 * feat: TimelineFragment 임시 화면 추가 * feat: TravelFragment 임시 화면 추가 * feat: TravelCreationFragment 임시 화면 추가 * feat: VisitFragment 임시 화면 추가 * feat: VisitCreationFragment 임시 화면 추가 * feat: (여행, 방문 기록) 수정 화면 추가 * feat: (여행, 방문 기록) 생성 화면 이동 구현 * feat: BottomSheetController 설정 및 Navigation 이동 구현 * feat: 뒤로가기 버튼 클릭 시 BottomSheet, Toast 작동 구현 * feat: 여행, 방문 기록 생성을 위한 액티비티 추가 및 이동 구현 * feat: 여행, 방문 기록 수정을 위한 액티비티 추가 및 이동 구현 * build: 중복된 dataBinding 제거
* build: dataBinding 사용 설정 * feat: 이미지 로딩 바인딩 어댑터 설정 - Glide, Coil 바인딩 어댑터를 각각 작성 - placeholder 설정 * style: ktlint check - import 순서 조정 * fix: attribute 개수에 맞추어 BindingAdapter의 value 재설정 * style: 마지막 줄 개행 추가 * feat: placeHolder를 필수 속성으로 변경 및 coil 이미지 로딩 코드 수정 - placeHolder를 ImageView의 필수 속성으로 지정 - Coil BindingAdapter에서 url이 null인 경우에도 이미지를 로드하는 동작이 수행되도록 수정 * ui: 상단바 색상 변경
LOCAL_PROPERTIES_API_KEY에 접근하는 명령어 수정
* �fix: android-ci.yml 파일의 명령어 수정 LOCAL_PROPERTIES_API_KEY에 접근하는 명령어 수정 * fix: 파이프라인 제거하여 명령어 수정 --------- Co-authored-by: Somin Lee <[email protected]>
…ub.com/woowacourse-teams/2024-staccato into feature/#47_android_ci_yml_commend_fix
* build: 서버 base url의 local.properties 사용 설정 및 BuildConfig 설정 * feat: Retrofit Client 작성 * fix: Merge Conflict 해결 - build.gradle.kts(project, app)의 ktlint 의존성 충돌 해결 - 버전 카탈로그 플러그인 충돌 해결 * feat: DTO 클래스 작성 * style: ktlint check - 불필요한 import 제거 - 개행 조정 - 콤마 추가 * feat: SerialName 어노테이션의 값을 camelCase로 수정 * refactor: DTO 클래스의 이름 수정 - API 요청으로 직접 보내거나 들어오는 JSON의 경우 DTO 클래스명 뒤에 Request/Response 를 붙이도록 설정 - JSON 안에 속성 값으로 들어가는 JSON은 DTO 클래스명 뒤에 Dto를 붙이도록 설정 * feat: 누락된 Dto 클래스 추가 TimelineResponse.kt - 타임라인 조회 시 여행 상세 목록을 불러올 때 사용되는 DTO 클래스 - TimelineTravelDto 리스트를 갖는다 * style: ktlint check * fix: const 키워드 제거 --------- Co-authored-by: hxeyexn <[email protected]>
* feat: 둥근 모서리로 이미지를 로딩하는 Glide 바인딩 어댑터 작성 - 세 속성이 모두 필요하다. - glideRoundedCornerImageUrl: 출력하고자 하는 이미지 url - glidePlaceHolder: placeHolder의 url - glideRoundingRadius: 모서리의 둥근 정도를 Int로 설정 * feat: 둥근 모서리로 이미지를 로딩하는 Coil 바인딩 어댑터 작성 - 세 속성이 모두 필요하다. - coilRoundedCornerImageUrl: 출력하고자 하는 이미지 url - coilPlaceHolder: placeHolder의 url - coilRoundingRadius: 모서리의 둥근 정도를 Float으로 설정 * fix: centerCrop 설정을 BindingAdapter 에 위임 - xml 속성으로 centerCrop을 주게 되면 Round Corner가 제대로 적용되지 않는 현상 발생 - Glide의 api로 제공되는 centerCrop() 메서드를 활용
* ui: 타임라인 View xml 파일 작성 - 타임라인에 나타날 여행 상세 아이템 xml 작성 - 썸네일 사진 유무에 따라 뷰를 구분 - 타임라인이 나타날 fragment xml 작성 * feat: 타임라인 여행 상세 아이템 UI 모델 생성 * ui: 썸네일이 없는 여행상세 아이템의 margin 조정 * ui: Timeline RecyclerView의 layoutManager 설정 * ui: xml에서의 UiModel 데이터 바인딩 설정 * feat: ViewHolder 작성 - 썸네일 사진 유무에 따라 다른 ViewHolder로 구분 - 공통된 속성을 정의한 TimelineViewHolder 추상클래스 생성 * feat: TimelineRepository Interface 생성 * feat: 임시 TimelineRepository 구현체 생성 * feat: TimelineViewModel 및 Factory 생성 * feat: TimelineViewType 작성 * feat: TimelineAdapter 작성 * feat: TimelineFragment에 ViewModel과 Adapter 구현 * feat: 이미지 로딩 PlaceHolder drawable 추가 및 적용 * feat: 임시 데이터 연결 * ui: Timeline fragment 의 세부 설정 조정 * ui: Timeline의 Item xml 변경 - 뷰 타입을 3개로 분할: 첫 번째 아이템, 중간 아이템, 마지막 아이템 - 이에 따라 xml 파일 추가 및 view 수정 * feat: ViewType 변경에 따른 Adapter 및 ViewHolder 수정 * refactor: 불필요한 View 및 ViewHolder 제거 * feat: 여행 click 에 대한 event handler 생성 및 설정 * refactor: drawable 이름을 네이밍 컨벤션에 맞게 수정 * ui: RecyclerView의 마진 속성을 패딩 속성으로 변경 * feat: 바텀 시트 디자인 변경 및 툴바와의 상호작용 구현 * ui: 타임라인 글귀 추가 * style: ktlint check * ui: 둥근 모서리의 이미지로 변경
* ui: typography.body textSize 1sp 씩 증가 * feat: DeleteDialogFragment에 Handler 추가 * feat: 툴바의 수정, 삭제 버튼 제어를 위한 ToolbarHandler 추가 * feat: 방문 상세 화면을 위한 VisitDetailUiModel 추가 * ui: PlaceHolder를 위한 xml 파일 추가 * feat: 방문 기록 상세 화면을 위한 VisitAdapter 및 VisitViewHolder 구현 * feat: 임시 VisitViewModel와 VisitViewModelFactory 추가 * feat: VisitFragment 화면 구현 * feat: 방문 기록에 해당하는 여행 선택을 위한 TravelSelectionFragment 구현 * feat: 방문 기록에 해당하는 날짜 선택을 위한 VisitedAtSelectionFragment 구현 * feat: 방문 기록 생성을 위한 VisitCreationActivity 구현 * feat: 방문 기록 수정을 위한 VisitUpdateActivity 구현 * refactor: DialogHandler를 DeleteDialogFragment의 생성자에서 받도록 수정 * refactor: initVisitUpdateDoneButton 중복 로직 제거 * refactor: VisitViewHolderType 메서드 명 변경 of -> from * refactor: tv_place_name_title을 xml id convention에 맞게 수정
* ui: 함께 간 사람들 item 구현 * ui: 방문 기록 item 구현 * ui: 여행 상세 화면 구현 * ui: 여행 생성 화면 구현 * ui: 여행 수정 화면 구현 * ui: placeholder에 사용할 drawable 추가 * ui: 여행 삭제 완료 string 추가 * feat: 둥근 모서리 이미지 BindingAdapter 구현 * feat: 함께 간 사람들 adapter 구현 * ui: 여행 상세 화면 NestedScrollView로 변경 - 이전: ScrollView - 이후: NestedScrollView * feat: 방문 기록 adapter 구현 * feat: 여행 상세 view 연결 * feat: 함께 간 사람들, 방문 기록 adapter 연결 * feat: 삭제 다이얼로그 handler 구현 * feat: 여행 상세 화면 toolbar handler 구현 - 뒤로가기 - 여행 수정 화면으로 이동 - 삭제 다이얼로그 show * feat: 여행 -> 방문 기록 화면 이동 구현 * ui: DatePickerStyle 추가 - DatePickerStyle, CustomMaterialCalendarStyle 추가 - staccato_blue 투명도 30 추가 * feat: 여행 저장 버튼, 여행 기간 BindingAdapter 추가 * feat: 여행 생성 view 연결 * feat: 여행 수정 view 연결 * style: formatting - Exceeded max line length 해결 - 임시 이미지 URL 변경 * refactor: 기간 선택 로직 메서드 분리
* refactor: UI Model의 패키지 경로 변경 * refactor: API 명세 변경에 따른 TimelineTravelDto 수정 * refactor: repository 메서드 수정 - 서버 요청을 비동기적으로 처리하기 위해 suspend 키워드 삽입 - 기존의 임시 데이터 요청 코드를 위해 load 메서드 분리 * feat: Timeline의 API Service 작성 * feat: DataSource 인터페이스 작성 * feat: TimelineDataSource 구현체 생성 * refactor: 년도에 대한 default parameter 설정 * refactor: DataSource의 요청 메서드 네이밍 수정 * feat: http 통신이 가능하도록 Cleartext Traffic 허용 설정 * feat: Authorization Header를 삽입하기 위한 Interceptor 생성 * feat: Client에 HeaderInterceptor 추가 * refactor: errorBody의 message 속성 이름 변경 * feat: 도메인 모델 작성 * feat: Response(dto)에서 도메인 모델로 변환하는 확장함수 구현 * feat: 도메인 모델에서 UI 모델로 변환하는 확장함수 구현 * feat: Repository 수정 및 ViewModel 데이터 연결 * ui: MainActivity의 상단 툴바 제거 * refactor: ViewType에 viewType 속성 추가 및 when에서의 enum 활용 * refactor: Timeline의 공통 ViewHolder를 sealed class로 변경 * style: ktlint check 수행 * fix: Response 데이터의 nullable 속성에 맞추어 DTO 수정 및 누락된 DTO 추가 * fix: 데이터가 비어있는 경우(초기)에만 새로운 여행상세 목록을 받도록 수정 * refactor: lazy 로 지연 초기화 및 timelineService가 하나의 인스턴스로 관리되도록 수정 * fix: Travel의 description에 nullable 속성 추가 API 명세서 잘 좀 보자 제발 * refactor: create 메서드를 private으로 변경 Client 클래스에서 Service를 create 하여 제공 및 캐싱하기 때문에, 불필요한 인스턴스를 생성하지 않도록 create를 public으로 두지 않는 것이 좋다. * refactor: LocalDateConverters의 패키지 경로 수정 * refactor: 파일의 이름 수정 * style: ktlint check * refactor: 에러 메시지 상수화
* feat: 특정 여행 상세 조회 api service 구현 * feat: 썸네일, 소개 타입 변경 및 기본 인자 설정 - 변경 data class : TravelResponse, TravelUiModel - 이전: String - 이후: String? * refactor: MatesUiModel 네이밍 변경 MatesUiModel이 공통적으로 사용될 예정이므로 MemberUiModel로 변경 - 이전: MatesUiModel - 이후: MemberUiModel * refactor: VisitUiModel 네이밍 변경 - 여행 상세 방문 기록에 사용되는 UiModel 이름을 명시적으로 변경 - 이전: VisitUiModel - 이후: TravelVisitUiModel * feat: 특정 여행 상세 조회에 사용할 domain model 추가 * feat: Api 응답 핸들링 로직 구현 * feat: 특정 여행 상세 조회 data source 구현 * feat: 특정 여행 상세 조회 repository 구현 * feat: 특정 여행 상세 조회 api 연결 * feat: 특정 여행 상세 조회 로직 매개변수 추가 - 타임라인에서 선택된 여행 id를 매개변수로 받도록 변경 * refactor: ApiResponseHandler 이름 오타 수정 * refactor: 에러 메세지 상수화 * feat: 특정 여행 상세 조회 시그니처 변경 - HeaderInterceptor 적용으로 authorization 매개변수 제거 * style: formatting
* feat: VisitApiService 인터페이스 및 관련 data class 추가 * feat: VisitRepository, RemoteVisitDataSource 및 관련 class 추가 * feat: 각 Visit 화면들의 ViewModelFactory 구현 * feat: 각 Visit 화면들의 UiModel 클래스 및 Mapper 추가 * feat: 여행 선택 및 방문 날짜 선택을 위한 BottomSheetDialogFragment 수정 * feat: VisitFragment API 연결 * feat: VisitCreationActivity API 연결 * feat: VisitUpdateActivity API 연결 준비 * refactor: visitApiService를 StaccatoClient object로 이동 * refactor: TravelVisit 클래스의 visitImage 변수 nullable하게 수정 * refactor: VisitApiService의 중복된 @Header 제거 * refactor: 방문 생성 성공 시 created id를 가져오도록 리팩터링 * chore: 변수명 visitImage로 수정 및 ktLint 적용 * refactor: 여행 수정 완료 동작 구현 및 VisitUpdateActivity 함수 분리
* feat: 여행 생성 api service 구현 * feat: 여행 생성 data source 구현 * feat: 방문 기록 썸네일 타입 변경 및 기본 인자 설정 - 변경 data class : TravelVisitDto, TravelVisit, TravelVisitUiModel - 이전: String - 이후: String? * build: converter scalars 의존성 추가 * feat: 여행 생성 ApiService 반환값 및 DataSource 시그니처 변경 - 여행 생성 ApiService 반환값 변경 - DataSource 시그니처 변경 - TravelCreation DomainModel 구현 - TravelCreation Dto 변환 Mapper 구현 * feat: Client에 ScalarsConvert 추가 - Header 값을 읽어오기 위해 ScalarsConvert 추가 * feat: 여행 생성 repository 구현 * feat: 여행 생성 api 연결 * feat: TravelViewModel 생성자 변경 - 이전: travelId를 TravelViewModel 생성자로 넣어줌 - 이후: travelId를 loadTravel()의 매개변수로 넣어줌 * ui: map 화면 변경
upload-artifact 는 defaults 설정의 working-directory 경로가 적용되지 않음
Test Results 21 files 21 suites 5s ⏱️ Results for commit 3e08b0d. ♻️ This comment has been updated with latest results. |
🌻Test Coverage Report
|
- 디렉터리 경로 생성 후 upload 실행
github의 workspace 환경변수(절대경로) 활용
- appName, appId, baseUrl 분리 - release에 난독화 적용
- CD에 대한 트리거 재설정 : main 브랜치에 대한 push 및 pr
ci - 불필요한 gradle 빌드 및 테스트 제거 cd - 타겟 브랜치 develop 제거
* feat: 기분 수정 요청을 보내는 Request Dto 작성 * feat: MomentApiService 에 기분 수정 요청에 대한 API 작성 * feat: 기분 수정 요청에 대한 DataSource 메서드 작성 * feat: 기분 도메인 모델 생성 * feat: 기분 도메인을 기분 수정 Request로 변환하는 메서드 작성 * ui: 기분 아이콘 이미지 리소스 추가 * ui: 기분 아이콘의 테두리를 selector로 생성 - 선택/미선택에 따라 다른 ui를 나타낸다 * ui: 기분 아이콘에 사용할 style 지정 * fix: API 변경에 따라 DTO 및 Mapper 변경 - 순간(현 스타카토)의 visitedAt의 타입을 LocalDate에서 LocalDateTime으로 변경 * fix: 순간 DTO에 기분 필드 추가 - 순간 Dto에 기분(Feeling) 필드를 추가함에 따라 Mapper 및 도메인 수정 * feat: 기분 선택 api에 필요한 repository 메서드 작성 * feat: 기분 uiModel 생성 * feat: 댓글에 대한 UI 모델 생성 * feat: 순간(현 스타카토) 상세 정보에 대한 UI 모델 생성 * feat: 기분 ImageView 의 선택 상태 바인딩 어댑터 작성 * feat: 댓글 화면 구성 및 Adapter, Fragment 작성 * feat: 순간(현 스타카토)의 Ui Model Mapper 변경 MomentDetailUiModel.CommentsUiModel -> CommentUiModel MomentDetailUiModel.MomentDefaultUiModel -> MomentDetailUiModel Feeling을 Ui Model로 변환하는 Mapper 추가 * feat: 기분 선택 View 구성 및 Fragment, ViewModel, Adapter, Handler 작성 * feat: 순간 상세에 대한 View 구성 및 Fragment, ViewModel 작성 * fix: 기분 선택 클릭 리스너와 바인딩 어댑터 설정 및 View 수정 * fix: 누락된 ViewModel 데이터 바인딩 설정 * feat: 순간 조회 화면 재구성 * refactor: 네비게이션 action 및 id 네이밍 수정 visit -> moment로 수정 * refactor: 방문 -> 순간 으로 키워드 변경 * refactor: 불필요한 클래스 및 xml 파일 제거 * ui: xml 컨벤션에 맞추어진 타 사용자의 댓글 ui 구성 * feat: 댓글 API의 DTO 작성 * feat: 댓글 API Service 작성 * feat: 댓글 CRUD DataSource 작성 * refactor: CommentApiService 각 메서드의 반환 값을 Response로 변경 * feat: CommentApiService 를 create * feat: CommentDataSource 구현체 생성 * refactor: 댓글 Dto 클래스 네이밍 변경 - VisitLogDto -> CommentDto * refactor: CommentDto 의 ID 프로퍼티 네이밍 변경 - visitLogId -> commentId * refactor: VisitLog 도메인 모델 클래스의 네이밍 변경 - VisitLog -> Comment * refactor: Comment 도메인 모델의 ID 프로퍼티 네이밍 변경 - visitLogId -> commentId * feat: 새로운 댓글 도메인 모델 생성 * feat: CommentRepository 작성 * feat: Domain 모델과 DTO 모델을 변환해주는 Mapper 작성 - CommentDto를 Comment로 변환하는 메서드를 CommentMapper.kt로 이동 * feat: CommentRepository의 기본 구현체 작성 * feat: 댓글 ViewModel, Factory 작성 및 Comment 불러오기 구현 * ui: ViewModel 데이터바인딩 및 빈 댓글 문구에 대한 strings 설정 * feat: CommentsViewModel 활용 및 옵저빙 * feat: 댓글 조회, 생성, 삭제 기능 구현
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
⭐️ Issue Number
🚩 Summary