주요 역할
<aside>
👉 레거시 리팩토링
- Kotlin 기반의 코드로 작성하여 기존 20% → 90% 수준까지 향상
- 클린아키텍쳐와 MVVM 에 대해 공부하고 도입
- 무분별하게 작성되어 있던 비즈니스 로직들을 Usecase와 Repository등의 클래스를 이용한 클린아키텍처 형태로 변환
- 중복되는 코드들을 줄이고 기능 정의를 통해 협업 효율성 향상에 기여
- Handler 를 사용하던 비동기 코드들을 RxJava 기반의 코드로 전환
- 가독성 향상 효과로 인한 이슈 추적에 용이
- 적절한 스레드 지정을 통해 처리 속도 향상 및 crash 감소
- BindingAdapter 의존성 제거로 디버깅 및 코드 추적 용이성 확보
- 무분별한 SharedPreference 사용 제거를 위해 Wrapper Class와 Repository로 분리하여 코드의 중복 제거 및 유지보수성 향상
</aside>
<aside>
👉 UI 개선
- 스마트택배 앱에서 기본 적용되는 pretendard 폰트 적용
- 폰트 리소스 및 Spannable을 활용한 내부 공통 로직 개발
- 다크모드 UI 및 로직 구현
- Glide를 활용한 이미지 처리, 페이징 처리를 통해 이미지 로딩 속도 및 스크롤 끊김 현상 개선
- 특정 년/월에 앱 아이콘이 변경될 수 있는 기능 (Dynamic App Icon) 개발
- 공통 라이브러리로 개발한 UI를 문서화를 통해 협업 효율성 향상에 기여
</aside>
<aside>
👉 스마트택배 앱 리뉴얼
- 스마트택배 앱 전반적인 UI 개선 및 신규 기능 추가
- 클린아키텍처와 MVP 패턴 기반 코드 구현
- RxJava2, Retrofit 활용 백엔드 API 연동
- 공통 팝업 뷰 커스텀 및 라이브러리화
- FlowLayout 기반 최근 검색어 기능 구현 및 라이브러리화
- 택배예약 모듈 리팩토링 및 기능 개발
- Glide 활용 이미지 처리
- CollapsingToolbarLayout 기반 빅타이틀바 구현
- 다크모드 대비 리소스 파일 정비 (color, string 등)
- 신규 기능 개발 및 디자인 적용
- [Result]
- 재사용성 높은 공통 뷰 라이브러리 개발 및 개발자 친화적 API 설계
- Glide를 활용한 커스텀 이미지 처리 기법 습득
- Material Design 컴포넌트 활용 및 커스터마이징 경험
- material-calendarview, Facebook Shimmer 등 외부 라이브러리 통합 경험
- Kotlin의 by 키워드를 활용한 Delegate 패턴 실무 적용
- 기존의 중첩된 레이아웃을 ConstraintLayout 기반의 뷰로 작성하여 퍼포먼스 개선
</aside>
<aside>
👉 쇼핑다이어리 기능 추가
- 스마트택배 - 쇼핑다이어리의 카카오 선물하기 데이터 연동을 위한 클라이언트 및 API 연결 작업
- 클린아키텍처와 MVP 패턴 기반 코드 구현
- RxJava2, Retrofit 활용 백엔드 API 연동
- FCM 데이터 가공 및 Push Message 딥링크 처리 경험
- 새로운 데이터 필드 추가에 따른 RoomDB migration 및 RxJava 연동 데이터 처리 구현
- RxJava2 EventBus 기반 액티비티 결과 처리
- Remote config 연동
- 사내 협업 첫 프로젝트로서 효과적인 커뮤니케이션 경험 습득
</aside>