FLUTTER ECOSYSTEM

ashtanko/flutter_bloc_app_template

📦 Um modelo robusto para construir aplicativos Flutter usando o padrão BLoC, promovendo uma separação clara de responsabilidades e melhorando a manutenibilidade. Ideal para desenvolvedores que buscam soluções escalonáveis de gerenciamento de estado.

Capa do projeto flutter_bloc_app_template
Stars
197
Forks
46
Último push (UTC)
16 de set. de 2026
Status do projeto
Ativo
Oleksii Shtanko GitHub avatar
GITHUB User

Oleksii Shtanko ↗

Senior Android Engineer. I am passionate about Android, Flutter and Golang

Lisbon, PortugalSite oficial ↗
LinguagensDartMakefileRubyShellKotlinSwiftObjective-C

Tópicos técnicos

Dependências usadas

Lista de dependências 50 itens

Rankings

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

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:

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/config/dev.png

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

Android Screenshots

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/launches_android_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/launches_android_light_theme.png

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/messages_android_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/android/messages_android_ligth_theme.png

iOS Screenshots

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/launches_ios_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/launches_ios_light_theme.png

https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/messages_ios_dark_theme.png https://raw.githubusercontent.com/ashtanko/flutter_bloc_app_template/HEAD/preview/ios/messages_ios_ligth_theme.png

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.