
도도카트 안드로이드 앱 개선 여정
두줄요약
복잡해진 안드로이드 앱을 모듈화하고 Kotlin DSL, Hilt, Coroutine·Flow 기반으로 정비했습니다. GraphQL 모델 분리와 테스트 확대를 후속 과제로 남겼습니다.
문제 상황
- 2년간 누적된 구조와 코드 형태의 혼재, 미사용·중복 코드로 인한 낮은 이해도
- 오래된 Android Gradle Plugin·서드파티 라이브러리와 30~40개의 빌드 경고
- 매핑 파일 미배포, 구버전 Firebase·Sentry 연동으로 어려운 이슈 추적
해결 방법
- Kotlin DSL 및 buildSrc 전환으로 Gradle 설정·라이브러리 의존성 공용 관리
- 앱·공통·기능 모듈 분리와 Clean Architecture 기반 Usecase·Repository·DataSource 구성
- Lifecycle 기반 Coroutine·Flow 처리 개선과 ViewModel 중심 UI 이벤트 소비
선택 이유
- 런타임 오류·오버헤드가 있는 Koin 대신 컴파일 타임 오류 검출이 가능한 Hilt 채택
- 기능 개발 병행 대신 개선 작업 집중 기간 확보와 목표·일정·작업 원칙 사전 정의
주의할 점
- GraphQL 데이터를 전 영역에서 직접 사용 중인 의존성, VO·DTO 분리 과제
- ViewModel 내 비즈니스 로직 과밀화와 모듈 전반에 미치지 못한 테스트 코드





