FLUTTER ECOSYSTEM

ntminhdn/Flutter-Bloc-CleanArchitecture

ntminhdn/Flutter-Bloc-CleanArchitecture open-source repository details.

Flutter-Bloc-CleanArchitecture 项目封面
Stars
540
Forks
240
最近推送(UTC)
2025年4月4日
项目状态
未归档
ntminhdn GitHub avatar
GITHUB User

ntminhdn ↗

语言DartShellMakefileBatchfileRubySwiftKotlinObjective-C

使用的依赖

依赖清单 1 项

所在榜单

原始 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

  1. Architecture: Clean Architecture

  2. State management: flutter_bloc

  3. Navigation: auto_route

  4. DI: get_it, injectable

  5. REST API: dio

  6. GraphQL: artemis, graphql_flutter

  7. Database: objectbox

  8. Shared Preferences: encrypted_shared_preferences

  9. Data class: freezed

  10. Lint: dart_code_metrics, flutter_lints

  11. CI/CD: Github Actions, Bitbucket Pipelines

  12. Unit Test: mocktail, bloc_test

  13. Paging: infinite_scroll_pagination

  14. Utils: rxdart, dartx, async

  15. Assets generator: flutter_gen_runner, flutter_launcher_icons, flutter_native_splash

  16. Shimmer loading effect

https://user-images.githubusercontent.com/22645452/204953475-65522ee8-caaf-4fa4-9305-507c390914f3.mp4

  1. Load more

https://user-images.githubusercontent.com/22645452/204954223-1e5e8731-2baa-45d3-bf04-d26e09600975.mp4

  1. Retry when error

https://user-images.githubusercontent.com/22645452/204954446-db337cad-d509-47d4-984c-d54f0386afb4.mp4

  1. Nested navigation

https://user-images.githubusercontent.com/22645452/204954558-ceddfea2-bce0-472d-b02a-6066212a8758.mp4

  1. Dark mode

https://user-images.githubusercontent.com/22645452/204954605-fe57620c-69af-4628-bdc6-8483c8f3f4a9.mp4

  1. 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 melos and lefthook, you could omit this step.

  • Install melos:

    • Run dart pub global activate melos 3.1.0
  • Install lefthook (optional):

    • Run gem install lefthook
  • Export paths:

    • Add to .zshrc or .bashrc file
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

Upgrade Melos

License

MIT