Skip to content

Latest commit

 

History

History
75 lines (43 loc) · 1.97 KB

README.md

File metadata and controls

75 lines (43 loc) · 1.97 KB

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. ...