Skip to content

This project = Clean Architecture + MVI(MVVM+) + Jetpack compose

License

Notifications You must be signed in to change notification settings

jchodev/mobile-coverage-2

Repository files navigation

mobile-coverage

This project = Clean Architecture + MVI(MVVM+) + Jetpack compose

Data from: https://api.ofcom.org.uk/

Description

Retrieve mobile coverage data from the Ofcom API (https://api.ofcom.org.uk/) and display it on the user interface (UI). Enable users to search for coverage information by entering their postcode.

In this project, was implementation with

Clean Architecture with MVI

Layer Description
Presentation Layer view, view model (MVI)
Domain Layer Entities, usecase, Repository Interface
Data Layer datamapping, Repository Impl.

UI Demo

mobile-coverage-demo.mp4

Unit test

Apply with jUnit5, mockk

UI test

Jetpack compose UI test

ui-test.mp4

Library

Library Used For Remark
jetpack Jetpack compose ----
hilt Dependency injection di ------
jacoco Test report ----
turbine For testing flow ----
timber Logging ----
retrofit2, okhttp network ----
moshi parse json ----
LeakCanery detect memory Leak ----
Room local DB (for cache) ----

build app command

./gradlew assembleDebug

jacocoReport command

./gradlew jacocoReport image

TODO

  1. cover jacoco report with 100% image

  2. Full flow of UI test

  3. Support landscape

  4. Multi-lang

  5. Support switch theme

  6. ...

About

This project = Clean Architecture + MVI(MVVM+) + Jetpack compose

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages