Skip to content

trunghieuvn/flutter-clean-architecture

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published