Clean architecture sample in android.
The app is a simple news articles adapter using data from a external api,
it persists articles for offline use.
The user can:
(a) view article in browser
(b) fetch more articles by pull-to-refresh
(c) delete unwanted articles by swiping
The application consists of 4 layers:
| Layer | Contains |
|---|---|
| Presentation | User interface, presentation logic and navigation |
| Domain | Entities, interactors and repository definitions |
| Data | Repository implementations and data source definitions |
| Framework | Data source implementations, dependency injection, others |
| type | libraries |
|---|---|
| ui | recyclerview, swiperefreshlayout, viewmodel |
| di | dagger.hilt |
| persistence | room |
| network | retrofit, moshi |
| browser | chrome.customtabs |
| async | kotlinx.coroutines, flow, stateflow |
| test | androidx.test, robolectric, mockk, espresso, truth, mockwebserver |
- instrumented e2e tests
- more features...?
