Skip to content
Khoi edited this page Dec 16, 2021 · 15 revisions

Welcome to the myrun wiki!

Android project modules

plantuml

Descriptions

:app

  • Android application module

:feature:x

  • Library modules.
  • Modules of features that are separated from app.
    Ex: :features:profile, :feature:registration …
  • Presentation layer for the feature
  • Dependencies: Android-related: Activity, Fragment, Composable UI, Service…

:domain

  • Library module.
  • Business logic: Use cases.
  • Dependencies: Kotlin, Java. Minimum on implement details.

:data:api

  • Library module.
  • Contracts of all data modules : Repository, Datasource interfaces, Models.
    Ex: activity feed, user profile, user’s recent location…
  • Dependencies: Kotlin, Java.

:data:x

  • Library modules.
  • Implementations of data contract, which libraries to use, how to store data (local/remote)
  • Dependencies: OkHttp, Retrofit, Firebase, Room, DataStore…
Clone this wiki locally