Skip to content

Latest commit

 

History

History
93 lines (70 loc) · 2.04 KB

README.md

File metadata and controls

93 lines (70 loc) · 2.04 KB

Flutter

- Flutter     v2.2.3
- Clean Architecture
- Presentation impl with MVVM use Bloc
- Pipline verify code PR
- Unit test > 90%

Technical architecture components

  • MVVM
  • Dart rule analyze: pedantic
  • State management: flutter_bloc
  • Dependency injection: get_it
  • Network: retrofit
  • Unit test: Mockito
  • CI/CD: pipeline lint use github action

Architecture

Apply Clean Architecture + MVVM (with ViewModel used to replace the traditional ViewModel).

|-----------------  Layers  ------------------|
| Presentations  |  Doamin     |   Data Layer |
|:-------------------------------------------:|

|--------------------------  Actual  ---------------------------|
| Presentations  |        Doamin          |         Data        |
|:-------------------------------------------------------------:|
|  UI <--> ViewModel <--> UseCase <--> Repository <--> API/Local|
|:-------------------------------------------------------------:|
|:----       Entity         ----|----       Model      --------:|
|:-------------------------------------------------------------:|

diagram-architecture

UI

  • This is the main interface of the application. It is classified into 3 main categories as:
    • Screen
    • Epic
    • Shared UI

TODO

  • flavor native
  • localization

Development

Visual code Extension:

Run

    flutter run

Build

    flutter build apk
    flutter build ios
    flutter build appbundle 

Android SignKey

    ./gradlew signingReport

Generate

Icon

    flutter pub run flutter_launcher_icons:main

Model, api retrofit

    flutter packages pub run build_runner build --delete-conflicting-outputs

Unit test

Unit Test

How to run Unit test

sh run_test.sh