무엇을 작업 했는가?
2주차 Milestone · dang-der/dangder-android
- 부랴부랴 계획한 2주 차 작업까지 완료했습니다.
- 강아지 등록 부분을 구현했습니다.
-
usecase, viewmodel 클래스 테스트 코드를 작성했습니다.
- 테스트 코드를 작성하면서 기존의 AuthViewModel이 맡은 역할이 많아 테스트하기 어렵다는 것을 알게 되었습니다. authViewModel을 로그인을 담당하는 뷰 모델과 회원가입을 담당하는 뷰 모델을 분리해야 함을 느끼고 리팩터링 했습니다.
- TDD로 개발을 해보고, 테스트 없이도 개발을 해보면서 어떤 장단점이 있는지 파악 중입니다.
-
기존의 웹 버전에는 없었던 프로필 입력 시 이미지 순서 편집 기능을 추가했습니다.
- 드래그& 드롭으로 순서를 편집할 수 있도록 했습니다.
- 아이폰의 배경화면 편집처럼 보이는 애니메이션을 추가했습니다.
- 아폴로 클라이언트를 사용해서 파일 업로드하는 기능을 구현했습니다.
- 안드로이드 아임포트 sdk를 연결해서 결제 기능을 구현했습니다.
- 상세 페이지를 구현했습니다. 모션 레이아웃을 사용해서 더 나은 ui를 보여주고 싶은데 기능 개발이 먼저라고 생각해서 추후에 구현할 계획입니다.
- 매칭시 뜨는 다이얼로그를 구현했습니다.
좋았던 점
- 테스트 코드와 같이 개발을 진행하지 리팩터링이 필요한 부분을 바로 찾을 수 있어서 좋았습니다.
- 테스트 코드를 작성하면서 어떤 내용을 테스트 코드에 담아야 할까, 어떤 기능이 테스트 되어야 할까 생각할 수 있는 시간이었습니다. 덕분에 아키텍처에서 각 계층이 담당하는 역할을 쉽게 이해하고 코드에 적용할 수 있었습니다.
- 기존에 안드로이드를 개발하면 기능 개발만 하고 UI 부분에 대해서는 크게 신경 쓰지 않았는데 이번 기회에 안드로이드에서 ui 부분을 어떻게 개발하는지 알게 되었습니다. custom behavior을 만드는 부분과 애니메이션을 적용하는 법을 배운 것 이 좋았습니다.
아쉬운 점
- 테스트 코드를 짜면서 프로젝트를 진행하는 것이 속도가 너무 더뎌서 테스트 코드 작성을 잠시 멈췄습니다. 테스트 코드를 작성하면서 긍정적인 경험도 있지만 대부분 이렇게 기계적으로 짜는 것이 맞는 걸까라는 생각이 끊임없이 난 것 같습니다.
- 밤색 작업을 많이 진행했는데 제대로 자고 조는 시간에 정신 차려서 개발했으면 더 많을 걸 개발하지 않았을까 싶습니다.
앞으로의 계획
- 깃헙 이슈의 마일스톤에 맞춰서 개발을 진행합니다.
- 어는 정도 개발이 진행되면 그동안 만든 viewModel, useCase에 대한 테스트 코드를 다시 짜면 좋을 것 같습니다. 테스트 코드를 짜면서 리팩터링할 부분을 찾아낼 수 있었으면 좋겠습니다.