bachhoan88/FlutterCleanArchitecture
Flutter 的清潔架構
- Stars
- 137
- Forks
- 77
- 最近推送(UTC)
- 2023年2月10日
- 專案狀態
- 未封存
技術主題
使用的依賴
依賴清單 28 項
- flutter
{"sdk":"flutter"} - equatable
^2.0.3 - flutter_localizations
{"sdk":"flutter"} - flutter_hooks
^0.18.1 - hooks_riverpod
^2.1.3 - dio
^4.0.3 - retrofit
^3.0.0 - json_annotation
^4.3.0 - freezed_annotation
^2.0.3 - enum_to_string
^2.0.1 - package_info
^2.0.2 - cupertino_icons
^1.0.3 - hive
^2.2.0 - hive_flutter
^1.1.0 - flutter_svg
^2.0.0+1 - cached_network_image
^3.0.0 - flare_flutter
^3.0.2 - carousel_slider
^4.0.0 - fluttertoast
^8.0.7 - flutter_test開發依賴
{"sdk":"flutter"} - freezed開發依賴
^2.0.3+1 - hive_generator開發依賴
any - build_runner開發依賴
^2.0.4 - flutter_gen_runner開發依賴
^5.2.0 - json_serializable開發依賴
^6.0.1 - retrofit_generator開發依賴
^4.0.1 - mockito開發依賴
^5.0.16 - flutter_lints開發依賴
^2.0.1
所在榜單
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
展開 / 收合專案 README
flutter_clean_architecture
This is a simple for Clean Architecture using the Provider Pattern
App architecture
- Base on MVVM + CleanArchitecture
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
- Use FlutterGen
Models
If added some models for api results
- Use Freezed
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.