오픈서베이는 리서치를 전문으로 하는 기업입니다. 오베이 라는 앱으로 사용자에게 약간의 보상과 함께 설문을 진행하며 설문 의뢰 업체에게 분석과 시각화 데이터를 제공합니다.
안드로이드 앱 개발 총괄
- 오베이 앱을 리뉴얼하여 10년 이상 유지된 레거시 코드로, 코드 수정 시 분석에 과도한 리소스가 소요되는 문제를 개선
- 큐럼블 앱 개발 및 운영
- 기존 Java 기반 오베이 앱의 유지보수
기술 스택 현대화
- 오베이 앱을 리뉴얼하여 프로젝트를 Java에서 Kotlin으로 마이그레이션하고, RxJava2를 Coroutine과 Flow로 전환하여 유지보수성과 확장성 개선.
- Dagger에서 Hilt로 전환하여 의존성 주입을 간소화.
Compose 기반 디자인 토큰 시스템 구현
- 디자인 가이드라인에 맞춰 색상, 텍스트 스타일, 상태 등을 계층적으로 관리하는 디자인 토큰 시스템 설계 및 적용으로 디자이너와의 협업 커뮤니케이션 개선
- Text, Button 등 기초 컴포넌트에 디자인 토큰을 적용해 재사용성을 높이고 휴먼 에러를 방지하는 설계 도입.
- 그 외 배너, 체크박스, 리스트, 인디케이터, 탑 네비게이션 등 UI 에서 꾸준히 사용될 컴포넌트들을 다양한 형태로 유연하면서 디자인 토큰 적용 가능하도록 구현
API 통신 및 상태 관리 개선
- Retrofit2와 Flow를 결합하여 API 호출 및 상태 관리를 단순화하고, StateFlow로 UI와 데이터 흐름을 통합.
- Custom Collect 함수를 구현하여 API 호출 시 Success, Error 상태를 명확히 관리.
Dialog 관리 시스템 설계
- 개별 화면마다 구현해야하는 Dialog 컴포넌트를 Theme 을 활용하여 하나의 화면으로 구현 하여 관리
- 코루틴을 활용한 연속적인 Dialog 요청 관리 시스템인 DialogState 구현.
- Compose의 생명주기에 맞춰 설계된 Dialog 화면과 DialogState 를 연계하여 UI를 효율적으로 관리.
에러 고유 번호 시스템
- UUID 기반 고유 번호를 생성하여 에러 발생 시 Dialog에 표시하고 Crashlytics에 함께 수집.
- 스크린샷만으로 문제점을 명확히 파악할 수 있어 고객 대응 및 문제 해결 속도 개선.
커스텀 WebView 컴포넌트 개발
- 설문, 공지사항 등 다양한 화면에서 사용할 수 있도록 새로고침과 로딩 기능을 포함한 재사용 가능한 WebView 컴포넌트를 View Binding과 Jetpack Compose로 구현.
큐럼블 앱 개발 및 운영
- 14-39세 타겟의 데이터 수집을 위한 신규 앱 개발.
- Compose와 MVVM 아키텍처를 기반으로 체계적이고 계획된 앱 개발 프로세스 경험.
- 기능적 중복 및 유저 확보 문제로 신규 앱 서비스를 종료하고, 기존 앱에 기능을 통합하는 전략으로 전환.
- 신규 앱 개발 경험을 바탕으로 오베이 앱 리뉴얼 프로젝트의 UX/UI 개선에 기여.
더보기