목록 보기
도도카트 안드로이드 앱 개선 여정
프론트엔드

도도카트 안드로이드 앱 개선 여정

spoqa
spoqa
2022년 4월 30일

두줄요약

복잡해진 안드로이드 앱을 모듈화하고 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 내 비즈니스 로직 과밀화와 모듈 전반에 미치지 못한 테스트 코드

다음 읽기

#GraphQL 주제를 이어서 읽기

도메인 주도 개발 전환 이야기

도메인 문서화와 계층형 패키지 구조로 Flask 백엔드의 중복 로직과 불명확한 경계를 개선했습니다. Resolver 로직을 Service·Repository·Entity로 재배치하며 도메인 중심 리팩터링 방향을 정리했습니다.

spoqa
spoqa
아키텍처
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...