Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Livith-Android

Android client for Livith (sibling of Livith iOS). Agent entry: AGENTS.md.

Gradle project root: android/ (:app).

Repository layout

flowchart TB
  subgraph gitRoot ["Git root"]
    agents["AGENTS.md"]
    docs["docs/"]
    androidDir["android/"]
  end

  subgraph gradle ["android/ (Gradle root)"]
    app[":app"]
    gradleFiles["build.gradle.kts · settings · libs.versions.toml"]
  end

  androidDir --> app
  androidDir --> gradleFiles
Loading

Layer dependencies

flowchart LR
  presentation["presentation"]
  domain["domain"]
  data["data"]
  core["core"]
  designsystem["designsystem"]

  presentation --> domain
  presentation --> designsystem
  data --> domain
  data --> core
Loading

Code structure by area

Package root: com.youz2me.livith under android/app/src/main/java/.

flowchart TB
  subgraph presentation ["presentation — UI & navigation"]
    pMain["MainActivity"]
    pNav["navigation/ LivithNavHost"]
    pLogin["login/ LoginScreen · LoginViewModel · LoginUiState"]
    pPlaceholder["login/ LoginPlaceholderScreens"]
  end

  subgraph domain ["domain — business contracts"]
    dAuth["auth/ SignInUseCase · AuthRepository · SocialAuthPort · AuthError · …"]
  end

  subgraph data ["data — API & persistence"]
    daAuth["auth/ AuthRepositoryImpl · AuthErrorMapper · KakaoSocialAuthPort"]
    daApi["auth/remote/ OnboardingApi"]
    daRemote["remote/ ServerResponse"]
  end

  subgraph core ["core — platform & DI"]
    cDi["di/ AuthModule · NetworkModule"]
    cKakao["auth/ KakaoAuthClient"]
    cSession["session/ SessionTokenStore"]
    cActivity["activity/ ActivityProvider"]
  end

  subgraph designsystem ["designsystem — shared visual tokens"]
    dsTheme["theme/ Theme · Color · Type"]
  end

  subgraph app ["app entry"]
    LivithApplication["LivithApplication"]
  end

  pMain --> pNav
  pNav --> pLogin
  pLogin --> dAuth
  daAuth --> dAuth
  daAuth --> cKakao
  daAuth --> cSession
  daAuth --> daApi
  daApi --> daRemote
  cDi --> daAuth
  cDi --> cKakao
  pLogin --> dsTheme
  LivithApplication --> cKakao
Loading
flowchart LR
  subgraph test ["android/app/src/test"]
    unit["Unit tests e.g. KakaoLoginResponseTest"]
  end

  subgraph androidTest ["android/app/src/androidTest"]
    instrumented["Instrumented tests"]
  end

  test -.-> data
  test -.-> domain
Loading

Tech stack

Area Choice
Language Kotlin
UI Jetpack Compose, Material 3
Architecture Google-recommended layers (presentation · domain · data), UDF via ViewModel + UiState
DI Hilt
Async Kotlin Coroutines, Flow
Navigation Navigation Compose
Network Retrofit, OkHttp, Kotlin Serialization
Local (general) DataStore Preferences
Local (session) DataStore + Android Keystore (Tink)
Auth Kakao SDK for Android (v2-user)
Build Gradle (AGP), KSP, minSdk 26
applicationId com.youz2me.livith

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages