Project
링거스튜디오 | 음악 저작인접권 조각투자 STO(토큰형 증권)스타트업

음원 저작인접권을 조각 단위로 구매하고, 아티스트와의 특별한 경험이 담긴 NFT를 소유 및 거래할 수 있는 서비스 'LingerStudio'의 안드로이드 앱 개발 프로젝트입니다.
이번 프로젝트의 핵심 과제는 당시 생소했던 Kotlin Multiplatform(KMP)와 Jetpack Compose라는 최신 기술 스택을 활용하여 안정적인 프로덕션 앱을 구축하는 것이었습니다. 신기술에 대한 학습 민첩성과 실무 적용 능력을 증명하는 것을 목표로 삼았습니다.
- 체계적인 학습을 통한 신기술 내재화
- 프로젝트 초기, KMP의 공유 아키텍처와 Compose의 선언형 UI 패러다임이라는 생소한 개념을 빠르게 습득하기 위해, 공식 문서와 예제 코드를 깊이 있게 분석하며 핵심 원리를 단기간에 체득했습니다.
- 협업과 페어코딩을 통한 실무 역량 확보
- 이론 학습을 넘어, KMP와 Compose 경험이 없는 상태에서 동료와 적극적인 페어코딩을 진행했습니다. 이를 통해 실무 노하우를 빠르게 공유하고 실제 코드에 적용하며 팀 전체의 기술 역량을 함께 성장시켰습니다.
LingerStudio 아키텍처 다이어그램

- UI는 각 플랫폼별로 구현(Android, iOS 별도 구현)
- Shared Module에서 비즈니스 로직을 구현해 플랫폼별로 공유
- Shared Module에서 클린아키텍처를 적용해 레이어별 의존성 분리
- 추상화에 의존하여 의존성 역전의 원칙을 준수


- Shared Module에서 사용할 적절한 아키텍처를 생각하던중 가장 널리 알려져있고 MVVM구조와 충돌없이 사용할 수 있다고 판단한 Flux Architecture를 사용
- KMP-Shared의 특성상 아래 조건을 만족해야하며 다른 선택지는 크게 없어보임
- 구현(제공)하는 컴포넌트와 각 Native 컴포넌트와의 충돌이 없어야함
- Shared → View(each Framework)의존성이 존재하면 안된다.