- 기간 : 2021.01 ~ 2021.06
- 팀 구성 : android 1명
- 역할 : 기획, 디자인, Android 앱 개발
- 내용 : 음악인들을 위한 구인/구직 앱
- Kotlin
- MVVM
- Hilt
- AAC
- Retrofit2
- Clean Architecture
- Room
- SharedPreferences
- DataBinding
- Coroutine
- ViewHolder에 ViewModel을 전달
- ViewModel의 코드를 바로바로 호출하면 되기 때문에 기존의 recyclerView의 이벤트 전달이 수월해짐
- Camera Permission
- 버전이 변경되면서 Android11부터 Camera Permission이 변경되었는데, 이 프로젝트를 통해 경험할 수 있었습니다.
- 채팅화면 키보드 컨테이너 구현
- 채팅할 때 파일첨부하는 컨테이너와 키드와 번갈아가며 사용할 수 있도록 구현
- 기획과 디자인
- 처음으로 플랫폼규모의 사이즈를 기획과 디자인을 해 봄
- 처음이라 무슨 아이콘을 써야할지, 어떤 방식으로 구현해야할지, 상황에 따른 처리 등 여러가지를 생각해봐야 해서 어려웠지만 재미있었습니다.
- 개발하랴 기획하랴 디자인하랴 힘들긴했지만 좋은 경험을 했고, 앞으로도 이런 경험을 계속 쌓을 예정입니다.
- Adapter를 ViewModel에서 생성하고 처리하고 있다.
- 의문점 : 어느 OTT회사의 면접에서 Adapter는 View인가, Model인가 라는 질문을 받았다. 정답은 없지만 제 생각에는 View라고 판단을 했기 때문에, ViewModel에 있는 것보다는 View에 보여주는게 맞다 생각해 서 개선하기로 함.
- 개선사항 : Adapter를 ViewModel에서 관리하지 않고, View에서 관리하도록 변경
- 비슷한 레이아웃같은 경우 중복코드가 많이 생성됨.
- 같은 기능, 같은 레이아웃인데 다른 화면에서 나오는 곳일 경우 ViewModel에 게속 같은 기능을 처리하는 코드와 레이아웃으로 구현되어 있어 유지보수하기가 힘들고 중복코드가 많이 생성됨.
- 개선사항 : 상속으로 처리하여 중복코드를 최대한 제거
개선사항이 적용된 프로젝트 [동네잡일] (https://github.com/lakue119/TownChores)