당신을 만나는 매일의 질문, 투유
repo:android
투유는 바쁜 하루 속에서 자신을 돌아볼 여유가 부족한 당신에게 감정과 마주할 특별한 순간을 선물합니다.
오늘의 기분을 감정우표로 표현하고, 답변으로 나만의 일기카드를 만들어보세요!
- 오늘 당신은 어떤 기분인가요?
- 감정우표를 선택하면 홈화면과 일기카드가 오늘의 기분에 맞게 변화합니다.
- 맞춤형 질문에 답하며 나만의 이야기를 남겨보세요!
- 친구들의 질문에도 답하며 특별한 일기 카드를 만들어보세요.
- 지나간 날들을 일기카드에서 다시 떠올려보세요.
- 어제와 오늘, 내일을 연결해주는 투유와 함께해요!
![]() |
![]() |
온보딩홈기록마이페이지 |
친구 목록일기카드FCM |
| 뷰 | 1 | 2 | 3 |
|---|---|---|---|
| 온보딩 회원가입 튜토리얼 |
![]() |
![]() |
![]() |
| 홈 감정우표 선택 일기카드 생성 |
![]() |
![]() |
![]() |
| 친구목록 친구추가 질문하기 |
![]() |
![]() |
![]() |
| 나의 기록 친구 기록 |
![]() |
![]() |
![]() |
| 마이페이지 프로필 수정 회원탈퇴 |
![]() |
![]() |
![]() |
- IDE : Android Studio Koala
- JDK : Java 18 JDK
- Kotlin Language : 1.9.22
- AGP : 8.2.2
- Kotlin
- Multi-Module Architecture
- MVI (Model-View-Intent) Pattern
- Repository Pattern
- Clean Architecture
- Single Activity Architecture
-
AndroidX
- Activity & Jetpack Compose
- Core KTX
- Lifecycle & ViewModel
- Navigation Compose (Type-Safe Navigation)
- Splash Screen
- Material3 Compose
- DataStore
-
Dependency Injection
-
Network
-
Kotlin Libraries
- Coroutines
- Serialization
- Immutable Collections
-
Other
- Kakao Open API
- Dotsindicator
- Timber
- Firebase
- Coil (Image Loading)
투유는 확장성과 유지보수성을 위해 멀티모듈 아키텍처를 채택했습니다.
:app
- 앱의 진입점 및 전체 네비게이션 관리
- 각 feature 모듈 통합
:feature modules
:feature:home- 홈 화면 및 감정우표 선택:feature:create- 일기카드 생성:feature:social- 친구 목록 및 질문하기:feature:record- 일기카드 기록 확인:feature:mypage- 마이페이지 및 프로필 관리:feature:notice- 알림 관리:feature:onboarding- 로그인 및 회원가입
:core modules
:core:data- Repository 구현 및 데이터 소스 통합:core:domain- 비즈니스 로직 및 모델 정의:core:network- API 서비스 및 네트워크 설정:core:datastore- 로컬 데이터 저장 (Token, Preferences):core:designsystem- 공통 UI 컴포넌트 및 테마:core:common- 공통 유틸리티
┌─────────────────────────────────────┐
│ Presentation Layer │
│ (Jetpack Compose, ViewModel) │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ Domain Layer │
│ (Models, Repository Interface) │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ Data Layer │
│ (Repository Impl, DataSource) │
└─────────────────────────────────────┘
프로젝트 의존성 그래프를 생성하려면 Graphviz가 필요합니다:
# Graphviz 설치 (macOS)
brew install graphviz
# 의존성 그래프 생성
./gradlew generateProjectDependencyGraph
# 생성된 파일 위치
# build/reports/project-dependency-graph/project-dependency-graph.png
# build/reports/project-dependency-graph/project-dependency-graph.svg

















