ntminhdn/Flutter-Bloc-CleanArchitecture
ntminhdn/Flutter-Bloc-CleanArchitecture open-source repository details.
- Stars
- 540
- Forks
- 240
- 最近推送(UTC)
- 2025年4月4日
- 專案狀態
- 未封存
使用的依賴
依賴清單 1 項
- melos開發依賴
4.1.0
所在榜單
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
展開 / 收合專案 README
Tutorials for this project
-
English: https://medium.com/@NALSengineering/list/building-a-perfect-boilerplate-flutter-project-from-scratch-3c2b29d9dfa8
-
Vietnamese: https://medium.com/@NALSengineering/list/flutter-xay-dung-base-project-hoan-hao-tu-a-en-a-c240f845f660
-
Code-generation tool: https://github.com/ntminhdn/Flutter-Bloc-CleanArchitecture/blob/master/tools/nals/nalsmobilebrain-0.10.0.vsix
-
Tool's features: https://medium.com/@NALSengineering/a-must-have-tool-if-youre-working-with-clean-architecture-4cfd07b473b6
-
How to build the tool: https://medium.com/@NALSengineering/code-2x-faster-with-custom-vscode-extensions-4f68e362be3d
Flutter Bloc - Clean Architecture
Flutter project using clean architecture and bloc pattern.
Architecture
Features
-
Architecture: Clean Architecture
-
State management: flutter_bloc
-
Navigation: auto_route
-
DI: get_it, injectable
-
REST API: dio
-
GraphQL: artemis, graphql_flutter
-
Database: objectbox
-
Shared Preferences: encrypted_shared_preferences
-
Data class: freezed
-
Lint: dart_code_metrics, flutter_lints
-
CI/CD: Github Actions, Bitbucket Pipelines
-
Paging: infinite_scroll_pagination
-
Assets generator: flutter_gen_runner, flutter_launcher_icons, flutter_native_splash
-
Shimmer loading effect
https://user-images.githubusercontent.com/22645452/204953475-65522ee8-caaf-4fa4-9305-507c390914f3.mp4
- Load more
https://user-images.githubusercontent.com/22645452/204954223-1e5e8731-2baa-45d3-bf04-d26e09600975.mp4
- Retry when error
https://user-images.githubusercontent.com/22645452/204954446-db337cad-d509-47d4-984c-d54f0386afb4.mp4
- Nested navigation
https://user-images.githubusercontent.com/22645452/204954558-ceddfea2-bce0-472d-b02a-6066212a8758.mp4
- Dark mode
https://user-images.githubusercontent.com/22645452/204954605-fe57620c-69af-4628-bdc6-8483c8f3f4a9.mp4
- Change App Language
https://user-images.githubusercontent.com/22645452/204954653-a704d380-0f6a-419d-a740-3bff74252ce2.mp4
Getting Started
Requirements
- Dart: 3.1.0
- Flutter SDK: 3.13.1
- Melos: 3.1.0
- CocoaPods: 1.12.0
Install
-
WARN: If you already installed
melosandlefthook, you could omit this step. -
Install melos:
- Run
dart pub global activate melos 3.1.0
- Run
-
Install lefthook (optional):
- Run
gem install lefthook
- Run
-
Export paths:
- Add to
.zshrcor.bashrcfile
- Add to
export PATH="$PATH:<path to flutter>/flutter/bin"
export PATH="$PATH:<path to flutter>/flutter/bin/cache/dart-sdk/bin"
export PATH="$PATH:~/.pub-cache/bin"
export PATH="$PATH:~/.gem/gems/lefthook-0.7.7/bin"
- Save file `.zshrc`
- Run `source ~/.zshrc`
Config and run app
- cd to root folder of project
- Run
make gen_env - Run
make sync - Run
lefthook install(optional) - Run & Enjoy!
Upgrade Flutter
- Update Flutter version in:
Upgrade Melos
- Update Melos version in:
License
MIT