/FlutterCleanArchitecture

Clean Architecture for Flutter

Primary LanguageDartMIT LicenseMIT

flutter_clean_architecture

This is a simple for Clean Architecture using the Provider Pattern

App architecture

Data Flow

Structure

Exception Flow

Structure

Run with Flavor (dev | stag | prod)

flutter run --flavor dev --dart-define=FLAVOR=dev If using the another library not build with null-safety. Please run with argument flutter run --no-sound-null-safety

Environment

Framework

  • Dart: '>=2.12.0 <3.0.0'
  • Flutter: '>=2.0.0'

iOS

  • iOS 13+

Android

  • Android 5.1+
    • minSdkVersion 22
  • targetSdkVersion 30

Code Style

Assets, Fonts

If added some assets or fonts

Models

If added some models for api results

Auto generate resource

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

Auto generate mock class using on Unit Test

Example: After created the test class, and run command below, the mock class MockMovieRepository will auto generate

@GenerateMocks([MovieRepository])
void main() {
  late MovieRepository repository;
}

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

Auto generate asset image

fluttergen -c pubspec.yaml

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.