Production-ready Flutter application template built with Clean Architecture and a modular, feature-oriented structure.
The project follows Clean Architecture with a clear separation of responsibilities:
PRESENTATION
Widgets, BLoC / Cubit
DOMAIN
Entities, Interactors (Use Cases)
DATA
Repositories, DTOs
- Interactors (use cases) are located in the
domainlayer - All state management logic lives in the
presentationlayer - Strict dependency direction between layers
- Modular, feature-based project structure
- Environment support (dev / stage / prod)
- Declarative navigation using
go_router - State management with
flutter_blocandbloc_concurrency - Localization support (
intl,flutter_localizations) - Secure and shared storage
- Centralized logging with Talker
- Provider-based dependency injection
- Mobile and Web support
- flutter_bloc / bloc
- equatable
- provider
- dio
- shared_preferences
- flutter_secure_storage
- go_router
- flutter_svg
- lottie
- flutter_animate
- cached_network_image
- google_maps_flutter
- flutter_dotenv
- uuid
- talker_flutter
- talker_dio_logger
- talker_bloc_logger
- build_runner
- flutter_gen
- intl_utils
- bloc_test
- mocktail
Install dependencies and generate code:
flutter pub get
dart run build_runner build --delete-conflicting-outputsRun the application by environment:
flutter run --target lib/targets/dev.dart
flutter run --target lib/targets/stage.dart
flutter run --target lib/targets/prod.dartEnvironment configuration files are stored in the env/ directory:
.env.dev.env.stage.env.prod
They are loaded using flutter_dotenv.
flutter gen-l10n
flutter pub run flutter_gen- Built-in debug screen
- Environment, theme, and locale switching
- HTTP, Bloc, and application logs
- Talker used as a centralized logging solution
MIT License