@startuml fig_19_clean_architecture
scale 3
title Clean Architecture и модули Gradle
skinparam defaultFontName "DejaVu Sans"

package ":ui" as UI {
  [Compose экраны]
  [ViewModel]
}

package ":usecases" as UC {
  [Use cases]
}

package ":domain" as DOM {
  [Модели, Encryptor]
  [IStorage]
}

package ":infrastructure-android" as INF {
  component INF_BLOCK [
    Room, OAuth,
    ----
    адаптеры
  ]
}

package ":app" as APP {
  [Hilt, навигация]
}

UI --> UC
UC --> DOM
INF --> DOM
APP --> UI
APP --> INF

@enduml
