본문으로 건너뛰기

Project

코보시스 | 스터디카페 O2O플랫폼 스타트업

코보시스 | 스터디카페 O2O플랫폼 스타트업코보시스 | 스터디카페 O2O플랫폼 스타트업코보시스 | 스터디카페 O2O플랫폼 스타트업

스터디카페 예약/결제(와우플) 및 무인 밀키트 매장(바로더, 밀킷슐랭) 등 오프라인 키오스크와 연동되는 O2O 서비스의 안드로이드 및 플러터 앱 개발 프로젝트입니다.

Firebase Crashlytics 리포트 분석 결과, 특정 상황에서 비정상 종료율이 80%에 달하는 심각한 문제를 발견했습니다. 서비스 신뢰도와 직결되는 이 문제를 해결하기 위해, 코드 레벨에서 근본 원인을 분석하고 안정성을 확보하는 것을 최우선 목표로 삼았습니다.

  • 네트워크 통신 예외 처리 강화
    • API 통신 응답 처리 로직을 면밀히 분석하여 누락된 예외 처리 코드를 식별했습니다. 네트워크 타임아웃, 서버 오류(4xx, 5xx) 등 주요 예외 상황에 대한 분기 처리 로직을 체계적으로 구현하여 통신 오류로 인한 크래시를 원천 차단했습니다.
  • Jetpack Navigation 타입 안정성 확보
    • Fragment 간 데이터 전달 과정에서 빈번하게 발생하던 ClassCastException 문제를 해결하기 위해, 데이터 타입을 Parcelable로 일관화하고 SafeArgs를 전면 도입했습니다. 이를 통해 런타임 오류 발생 가능성을 제거하고 코드의 안정성을 크게 높였습니다.

기존의 Android Native 프로젝트가 가진 플랫폼 종속성 문제와 이로 인한 개발 리소스 이원화 문제를 해결하기 위해, Flutter 기반의 크로스플랫폼으로 전환했습니다. 이는 단순히 기술 스택을 변경하는 것을 넘어, 장기적인 관점에서 서비스의 확장성과 개발 효율성을 극대화하기 위한 전략적 결정이었습니다. 신규 서비스인 '바로더'는 초기 기획 단계부터 Flutter로 개발하여, 프로젝트의 성공 가능성을 입증하고 기술 내재화를 완료했습니다.

  • Flutter 생태계에 최적화된 아키텍처 설계: 의존성 주입을 위해 기존에 사용하던 Hilt를 Flutter의 표준 상태 관리 솔루션 중 하나인 Provider로 대체하였습니다. 이를 통해 위젯 트리와 생명주기에 최적화된 방식으로 의존성을 관리하여 코드의 복잡도를 낮추고 예측 가능성을 높였습니다. 또한, 네트워크 라이브러리는 Retrofit에서 강력한 비동기 처리와 인터셉터 기능을 제공하는 Dio로 교체하여, API 통신 로직을 더욱 효율적이고 직관적으로 개선했습니다.
  • 선언형 UI 패러다임을 통한 개발 속도 향상: 기존의 복잡한 Android XML 레이아웃을 선언형UI 패러다임의 Flutter Widget으로 100% 리팩토링했습니다. 이 과정에서 재사용 가능한 컴포넌트를 체계적으로 설계하여 UI 개발 생산성을 획기적으로 개선했으며, Stateful Hot Reload 기능을 적극 활용하여 디자인 수정 및 기능 변경에 대한 대응 속도를 2배 이상 단축시키는 성과를 거두었습니다.
  • 정량적 성과 달성: Flutter 전환을 통해 단일 코드베이스로 Android와 iOS 양대 플랫폼에 동시에 대응할 수 있는 기반을 마련했습니다. 그 결과, 플랫폼별로 중복되던 개발 및 유지보수 리소스를 50% 가까이 절감했으며, 신규 기능의 기획부터 배포까지 걸리는 전체 리드 타임을 평균 30% 이상 단축하여 비즈니스 변화에 더욱 민첩하게 대응할 수 있게 되었습니다.

Wowple, Baroder Flutter 아키텍처 다이어그램

Wowple, Baroder Flutter 아키텍처 다이어그램
원본 크기로 보기
프로젝트 목록으로