flutter_app_template

melos codecov

Flutter App Template

“Flutter App Template” is a project that introduces an approach to architecture and project structure for developing Flutter apps.

State Management

Riverpod

Code Generation

freezed

Hooks

Flutter Hooks

Project settings

Category Description Codes
FVM Flutter Version Management .fvm/fvm_config.json
Dart Dart version pubspec.yaml
Dart Lint / Analyze analysis_options.yaml

Environments

dev, stg, prod

Project structure

  • lib/
    • commons/
    • domain/
    • presentation/
    • main.dart

Setup for using the template

  1. Replace App ID with your App ID. jp.co.altive.fat -> your.domain.id
  2. Change CFBundleName and CFBundleDisplayName in ios/Runner/info.plist to your app name.
  3. Change FlutterAT in defaultConfig/resValue of android/app/build.gradle to your app name.
  4. Create a project in Firebase.
  5. Create an Android app, download google-services.json, and place it in android/app/src/{dev or stg or prod}.
  6. Create an iOS app, download GoogleService-Info.plist, and place it in ios/{dev or stg or prod}.
  7. Modify GOOGLE_REVERSED_CLIENT_ID in {dev, stg, prod}.xcconfig to match the contents of each GoogleService-Info.plist.
  8. Create a Web app and modify the parameters in firebaseConfig in web/index.html according to the Firebase SDK additions. – apiKey, authDomain, databaseURL, projectId, storageBucket, messagingSenderId, appId, measurementId

How to add a package

# Package
flutter create -t package packages/{package_name}
# App
flutter create --org jp.co.altive packages/{app_name}

Reference list

Internationalization User Guild PresentationDomainSeparation Flutter Architecture Blueprints

Thank you!

GitHub

View Github