A Flutter app that displays cats that are up for adoption along with information about them.
This application was built as an example application for The Complete Flutter and Firebase Developer Course, if you'd like to learn how to build this application from scratch you can use our coupon code GITHUB2019.
CatBox is live on Google Play and in the process of being approved on the iOS App store.
- Launch adoption page using url_launcher
- Change Firestore schema to new naming convention
- Live Cat item reference so we can do updates to the UI in sync with Firestore changes
- Add Cat description field
You can follow these instructions to build the CatBox app and install it onto your device.
If you are new to Flutter, please first follow the Flutter Setup guide.
Obtain a copy of GoogleService-Info.plist and google-services.json from the firebase console and put them in the following directories if you need to build for release
./ios/Runner/GoogleService-Info.plist
./android/app/google-services.jsonObtain a copy of catbox.jks and key.properties and place them in the following locations
./catbox.jks
./android/key.propertiescd catbox
flutter upgrade
flutter run --releaseThe flutter run --release command both builds and installs the CatBox app.
If you are debugging the application on a simulator, run the following to launch the iOS simulator
open -a SimulatorThen run the following to debug with live reloading
flutter run --debugFirst install the firebase-tools package
npm install -g firebase-toolsRun the following to login to firebase cli
firebase loginRun the following within your ./firebase/functions/ directory if you are deploying functions
npm installMake all the necessary changes within ./firebase/ in this project repository and then push the configuration using the following.
$ firebase deploy
=== Deploying to 'catbox-flutter'...
i deploying storage, firestore, functions
etc...
β Deploy complete!Icon was created using: https://pub.dartlang.org/packages/flutter_launcher_icons
flutter pub get
flutter pub pub run flutter_launcher_icons:mainDue to a difference in the way that iOS and Android handle transparency, there's a separate icon file for iOS and a method for toggling on and off the icon changes in the pubspec.yaml
If you are getting a missing plugin exception (likely due to Firestore Cloud) simply run the following to clear out the old builds
flutter clean
flutter packages getIf you are unable to compile a debug version of the APK go into ./android/app/build.gradle and change the following line (comment out release and add the debug config)
buildTypes {
release {
//signingConfig signingConfigs.release
signingConfig signingConfigs.debug
}
}As Flutter is still in development and more importantly, the external packages that tie in to services like Google Play are still changing a lot, there's often some teething issues with breaking dependencies and build. Run the following in to hopefully resolve most of the issues
cd ios/
rm -rf Pods/ Podfile.lock ; pod install- Nathan Glover @nathangloverAUS (Twitter), @t04glovern (Github)
- Rico Beti @RicoBeti (Twitter), @silentbyte (Github)
- CodemateLtd/FlutterMates - Base template



