Search categories, packages and repositories

GitHub repositoryntminhdn/Flutter-Bloc-CleanArchitecture

Flutter-Bloc-CleanArchitecture

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

Flutter-Bloc-CleanArchitecture project cover
Stars
540
Forks
240
Last push (UTC)
Apr 4, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

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

ntminhdn GitHub avatar
GitHub author

ntminhdn ↗

LanguagesDartShellMakefileBatchfileRubySwiftKotlinObjective-C

Dependencies used

Dependency list 1 items

Rankings

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗