다크 모드
Android 기술 스택 개요
기본 환경
| 항목 | 버전/사양 |
|---|---|
| 언어 | Kotlin 2.3 |
| UI 프레임워크 | Jetpack Compose |
| 최소 지원 버전 | API 29 (Android 10) |
| Target SDK | 36 |
| Compile SDK | 36 |
| 빌드 도구 | Gradle 9.1 (Kotlin DSL) |
| JVM Target | JVM 21 |
| Java Compatibility | Java 21 |
주요 의존성
| 라이브러리 | 용도 | 버전 |
|---|---|---|
| Hilt (Dagger) | 의존성 주입 (DI) | 2.59 |
| Retrofit + OkHttp | 네트워크 통신 | 3.0.0 / 5.2.1 |
| Kotlin Serialization | JSON 직렬화/역직렬화 | 1.9.0 |
| Room | 로컬 데이터베이스 | 2.8.3 |
| DataStore | 키-값 로컬 저장소 | 1.1.7 |
| Coil | 이미지 로딩 (Compose, OkHttp, Video) | 3.3.0 |
| SendbirdChatSDK | 실시간 채팅 | 4.29.0 |
| Firebase (Analytics, Crashlytics, Messaging) | 분석, 크래시 리포트, 푸시 알림 | BOM 34.4.0 |
| RevenueCat | 인앱 결제/구독 관리 | 9.12.0 |
| Media3 (ExoPlayer) | 미디어 재생 (Session, UI, Transformer) | 1.8.0 |
| Navigation3 | Jetpack Navigation (3세대) | 1.0.1 |
| Branch SDK | 딥링크/어트리뷰션 | 5.20.3 |
| Kakao SDK (Share, Template) | 카카오 공유 | 2.21.4 |
| Paging3 | 페이징 처리 | 3.3.6 |
| Lottie | 애니메이션 (Compose) | 6.6.10 |
| Timber | 로깅 | 5.0.1 |
| Chucker | HTTP 디버깅 (Debug Only) | 4.2.0 |
| Beagle | 디버그 메뉴 (Debug Only) | 2.9.10 |
| Segment Analytics | 사용자 행동 분석 | 1.22.0 |
| Google Places | 장소 검색 | 5.0.0 |
| libphonenumber | 전화번호 형식 처리 | 9.0.16 |
| ZXing | QR 코드 생성/스캔 | 3.5.3 |
| Tink | 암호화 | 1.19.0 |
아키텍처 접근 방식
truloop Android는 MVI/MVVM Multi-module Clean Architecture를 채택하고 있으며, Convention Plugin 기반 멀티 모듈 구조로 구성되어 있습니다.
app --> feature/* --> core/* --> domain/*- StateFlow 기반 UiState/UiEvent/SideEffect 패턴: 단방향 데이터 흐름
- Hilt를 통한 의존성 주입: 컴파일 타임 DI 보장
- Convention Plugin: 모듈 설정 표준화
- Kotlin Serialization: 네트워크 및 로컬 저장소 직렬화
정보
Gradle 9.1과 함께 Configuration Cache가 활성화되어 있어 빠른 빌드 성능을 제공합니다. JVM 메모리는 16GB로 설정되어 있습니다.
관련 문서
변경 이력
| 날짜 | 내용 |
|---|---|
| 2026-03-10 | Gradle 버전 9.0 → 9.1, OkHttp 버전 5.2 → 5.2.1로 실제 코드 기준 교정 |