Skip to content

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.

Releases

No releases published

Packages

No packages published

Languages