YOUR_PROJECT_NAME

Flutter project using clean architecture and bloc pattern

Architecture

Getting Started

Requirements

  • Dart: 2.18.5
  • Flutter SDK: 3.3.9
  • Melos: 2.8.0
  • CocoaPods: 1.11.2

Install

  • WARN: If you already installed melos and lefthook, you could omit this step.

  • Install melos:

    • Run dart pub global activate melos 2.8.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

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

GitHub

View Github