A template for a Flutter project.
This project is a template for a Flutter application.
- Create a new flutter app.
- Fetch the files from this template: 2.1 Android - key.properties.example and take a look at app/build.gradle), 2.2 lib 2.3 test, 2.4 pubspec 2.5 analysis_options
- Setup a Firebase project:
3.1 - Create a project in firebase
3.2 - run
firebase login
to authenticate your terminal 3.3 - runflutterfire configure --project=<name-of-your-project>
- Search for
// TODO
and make changes where needed. - Change the bundle id for ALL environments (Android, iOS, etc)
- Run
flutter create .
in the terminal - Replace all instances of package imports (
package:template
) from the template app with your app name. - Setup a Firebase project.
- Initialize Firebase.
- To generate the localizations, run
flutter gen-l10n --untranslated-messages-file=lib/l10n/untranslated_messages.json
- Follow the guide on https://firebase.google.com/docs/auth/ios/apple?hl=en&authuser=0
- Add Apple Sign in capability in XCode
- For Android - Follow the signing steps below to generate debug and release SHA1 and SHA256 and add it to your firebase project
- For Apple - Add the following to your project/ios/info.plist file:
<key>GIDClientID</key>
<!-- TODO: replace with **CLIENT_ID** from _GoogleService-Info.plist_ -->
<string>VVVVVVV</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<!-- TODO: replace with **REVERSED_CLIENT_ID** from _GoogleService-Info.plist_ -->
<string>com.googleusercontent.apps.VVVVVVV</string>
</array>
</dict>
</array>
- Getx
- State management
- Context-less navigation
- Context-less dialogs
- Context-less screen Sizes
- Context-less l10n
- Firebase
- Authentication
- Firestore Database
- Crashlytics
This template features:
pad()
-> fast way to add Paddingclass Txts
-> fast way to add Text- Easy way to add RichText
- Extensions for easy access to nullable and/or empty Strings and Lists
- Material 3 color scheme
- T&C and Privacy policy widget
- Easy way to use Text Form Field
- Validators
) Debug:
- Get the SHA1 and SHA256 with:
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
- And write the password "android"
b) Release:
- Navigate to the directory for they key and generate the key with:
keytool -genkeypair -v -keystore VVVVVV.jks -keyalg RSA -keysize 2048 -validity 10000 -alias VVVVVV -keypass VVVVVV -storepass VVVVVV
- Get the SHA1 and SHA256 with:
keytool -list -v -keystore VVVVVVV.jks -alias VVVVVVV -storepass VVVVVVV -keypass VVVVVVV