Skip to content

Team-ToYou/ToYou-Android

Repository files navigation

📮투유 (To.You)


API
Build Status Build Status Build Status

당신을 만나는 매일의 질문, 투유 repo:android


투유를 소개합니다 ♥️

투유는 바쁜 하루 속에서 자신을 돌아볼 여유가 부족한 당신에게 감정과 마주할 특별한 순간을 선물합니다.

오늘의 기분을 감정우표로 표현하고, 답변으로 나만의 일기카드를 만들어보세요!


투유 기능 알아보기! 😎

STEP 1️⃣ 감정우표 선택하기

  • 오늘 당신은 어떤 기분인가요?
  • 감정우표를 선택하면 홈화면과 일기카드가 오늘의 기분에 맞게 변화합니다.

STEP 2️⃣ 일기카드 만들기

  • 맞춤형 질문에 답하며 나만의 이야기를 남겨보세요!
  • 친구들의 질문에도 답하며 특별한 일기 카드를 만들어보세요.

STEP 3️⃣ 나의 기록 확인하기

  • 지나간 날들을 일기카드에서 다시 떠올려보세요.
  • 어제와 오늘, 내일을 연결해주는 투유와 함께해요!

CONTRIBUTORS

온보딩

기록
마이페이지
친구 목록
일기카드
FCM

SCREENSHOTS

1 2 3
온보딩
회원가입
튜토리얼

감정우표 선택
일기카드 생성
친구목록
친구추가
질문하기
나의 기록
친구 기록
마이페이지
프로필 수정
회원탈퇴

TECH STACK

Required

  • IDE : Android Studio Koala
  • JDK : Java 18 JDK
  • Kotlin Language : 1.9.22
  • AGP : 8.2.2

Language

  • Kotlin

Architecture

  • Multi-Module Architecture
  • MVI (Model-View-Intent) Pattern
  • Repository Pattern
  • Clean Architecture
  • Single Activity Architecture

Libraries


ARCHITECTURE

Multi-Module Structure

투유는 확장성과 유지보수성을 위해 멀티모듈 아키텍처를 채택했습니다.

Module Dependency Graph

Project Dependency Graph

Module Overview

: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 - 공통 유틸리티

Layer Architecture

┌─────────────────────────────────────┐
│         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

About

투유 - 당신을 만나는 매일의 질문 Android

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages