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
  • Integration tests

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:

  • dev: --flavor dev -t lib/main_dev.dart

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

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages