Skip to content

πŸ“¦ A robust template for building Flutter applications using the BLoC pattern, promoting a clear separation of concerns and enhancing maintainability. Ideal for developers looking to implement scalable state management solutions.

License

Notifications You must be signed in to change notification settings

ashtanko/flutter_bloc_app_template

Repository files navigation

flutter-bloc-app-template πŸ€–

This is a basic Flutter project template that uses the BLoC pattern architecture for state management. It is a good starting point for creating a new Flutter app that uses BLoC for state management.

This template is focused on delivering a project with static analysis and continuous integration already in place.

style: lint codecov CI CodeFactor License style: effective dart GitHub forks GitHub stars Codacy Badge Codacy Badge

How to use 🐾

Just click on Use this template button to create a new repo starting from this template.

Features πŸ¦„

  • Theme support
  • BLoC pattern bloc
  • Service Locator using get_it
  • Localization using intl
  • CI Setup with GitHub Actions
  • Codecov Setup with GitHub Actions
  • Unit test coverage

Configuration

The template has 3 flavors:

  • dev
  • prod
  • qa

The template has 3 build variants:

  • debug
  • profile
  • release

For example dev configuration for Android Studio looks like:

Android Screenshots

iOS Screenshots

Static Analysis πŸ”

This template is using analyzer

Supported Lint Rules

Supported Dart Code Metrics

Dart Lint

CI βš™οΈ

This template is using GitHub Actions as CI. You don't need to setup any external service and you should have a running CI once you start using this template.

How to build πŸ› οΈ

The Project uses FlutterGen to generate localizations, dependencies and mocks

Activate flutter_gen using dart pub global activate flutter_gen command if you haven't done that before.

after add export PATH="$PATH":"$HOME/.pub-cache/bin" to bash_profile

# clean project, install dependencies & generate sources
make

# generate localizations, dependencies, image assets, colors, fonts
make gen

# generate localizations
make localize

# analyze the project
check

Reminders 🧠

Change name in pubspec.yaml file

Remove anything you don't need

Configure analysis_options.yaml for your needs

Contributing 🀝

Feel free to open a issue or submit a pull request for any bugs/improvements.

License πŸ“„

This template is licensed under the MIT License - see the License file for details. Please note that the generated template is offering to start with a MIT license but you can change it to whatever you wish, as long as you attribute under the MIT terms that you're using the template.

About

πŸ“¦ A robust template for building Flutter applications using the BLoC pattern, promoting a clear separation of concerns and enhancing maintainability. Ideal for developers looking to implement scalable state management solutions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages