
Join this complete Flutter and Firebase development course to build a cat adoption app from local data to Firebase, while exploring Flutter basics through a word game.
What is this Flutter and Firebase?
In this section we discuss what Flutter is, and talk about how we can use with with Firebase to make our projects serverless
We cover off the requirements needed to develop applications on Windows for Flutter
We cover off the requirements needed to develop applications on MacOS for Flutter
We cover off the requirements needed to develop applications on Ubuntu/Linux for Flutter
We cover off the requirement of installing Android Studio for local development using the Virtual Device
Learn how to access incremental code versions on GitHub, download entire code bases by section, and compare the final cat box app while starting with a basic Flutter demo.
Starting off we'll look at some really simple examples of using Widgets in Flutter. This is an optional series for those of you who are somewhat intermediate Flutter users.
We're setting up the Tutorial applications basic project structure, we'll finish by making a simple Hello World App.
We cover the simple AppBar Widget and look at what kinds of things we can display using its base attributes defined in its constructor
Using the actions field in the AppBar we'll add some simple IconButtons to the UI at the top of the screen.
We add a simple bottom navigation bar that we'll use as an introduction to a footer UI element in our Flutter application.
We add in a Text Field and a number of different selectors such as a radio button, checkbox and a switch.
We add in three types of Button styles including Raised, Flat and Outlined buttons.
We're adding in a simple Cat image to the UI using the Network Image widget.
Explore Dart basics by mastering primitive types like strings, ints, doubles, booleans, and abstract types such as functions and classes, then work with lists, maps, and exceptions.
Explore dart pad to run dart code in your browser and master variables, types, and type safety with strings, integers, doubles, and dynamic values.
Explore defining and calling functions in Dart to sum numbers, square values, and use default values and named arguments, returning doubles for Flutter apps.
Explore lists (arrays) and maps, including dynamic growth, zero-based indexing, and type safety; master various iteration methods and map operations, including squaring values and key-based overwriting.
Define a simple Dart class to store a cat’s name and age, instantiate it, and print its info. Use a constructor, this, and private fields with underscores to encapsulate data.
Explore error handling in Dart with exceptions, try-catch, and format exception blocks, using a string-to-double example to print informative error messages.
Master asynchronous execution with async and await. See how futures return results and how to handle success and errors during remote requests.
Review the basics of the dart language and async concepts to complete the flutter and firebase course, then begin building flutter apps with the dot org website for deeper examples.
Discover how to build a mad libs style word game in Flutter, covering widgets, routes, and navigation, and add a feature to like and view your favorite sentences.
Create a new flutter project in Android Studio by selecting Flutter application, configure details, set up an Android emulator, run the app, and use hot reload to see changes.
Set up a new flutter project in VSCode, connect an android device or emulator, run flutter run to compile and deploy, then reload to see text changes and iterate.
Learn to add external dependencies to a Flutter project by editing pubspec.yaml, running packages get, and integrating a third party library like random words into a simple word game.
Generate amusing sentences by randomly selecting a noun and an adjective to create Mad Libs-style phrases in a Flutter app, with plans to enhance visuals in future lessons.
Create functions and classes to generate and display random sentences, using a stateful widget to manage changing text and contrasting stateless and stateful concepts.
Create an infinite scrolling list of sentences in Flutter, using a sentences array and a constant bigger font, with a dynamic item builder that grows as you scroll.
Save funny sentences in a flutter app using a unique set to prevent duplicates, display each item with a trailing icon, and toggle like status with on tap via setState.
Navigate between screens with a top right list icon that pushes a screen of funny sentences. Implement push funnies via a router to build stacked list with tiles and dividers.
Develop the cat box adoption app with intermediate ui design, network-loaded images, and image widgets; refine the project structure; and load data from a local json file and the web.
Create a cat box flutter app by cleaning boilerplate, renaming project, and configuring a theme with blue primary and pink accent, then implement a cat list UI with a scaffold.
Import external font assets into a Flutter project by adding Ubuntu fonts to a fonts folder, declaring a font family, and referencing it in code, reloading the app to apply.
Fix and streamline unit tests for a Flutter app by updating references to a cat box app, removing unused tests, and validating the cat ui text, then run flutter test.
Define a cat data model in flutter with id, name, description, image, location, likes, adopted, pictures, and traits, using the meta package for required fields and loading json from assets.
Load json assets in a flutter app by decoding cats.json and mapping each entry to a Cat model. Expose a static all-cats API and prepare data for UI display.
Learn to build a scrollable list of cats in Flutter using a ListView with network images, pull-to-refresh, and a responsive item widget with cards, list tiles, and hero avatars.
Create a modular cat details page scaffold in flutter, building header, body, and footer components, wiring details page and provider-driven state that activates on hover for performance.
Add routes and a navigator to navigate from the cat list to a details page with a fade transition, passing the cat object and avatar tag.
Design and implement a beautiful cat profile header in Flutter, featuring a circular avatar, like counter with thumbs up, and action buttons, with a blue gradient header and navigation setup.
learn to load a background image from assets, apply a diagonal bottom cut with a clip path, and add a color overlay to enhance the ui.
Learn to beautify the cat profile UI in Flutter by adding name, location, description, circular badges, and action icons (email, call) using theme and padding in the details page.
Implement a tabbed view in Flutter to showcase cat pictures, details, and tributes using a tab controller, tab bar, and tab bar view with separate pages for each cat detail.
Build a three-panel cat showcase using grid view for pictures, a details panel, and tributes with font awesome icons. Configure cross-axis grid, padding, and prepare for firebase integration.
Learn Firebase integration to streamline backend services with Cloud Firestore storage and built-in analytics, using Google sign-in and OAuth for seamless authentication and data management.
Create a free firebase account, set up a new project in console.firebase.google.com, and note the data database, storage, and functions for linking the iOS Flutter project in the next video.
Set up a Flutter and Firebase iOS project by matching the iOS bundle ID and adding the Google services plist, preparing for the Android setup.
Set up an android project inside a flutter app by configuring the android package name, signing key SHA-1, adding google-services.json, and adding firebase dependencies like firebase_core, firebase_auth, google_sign_in, and cloud_firestore.
Implement Firebase authentication with Google Sign-In in a Flutter app, handling sign-in flow, tokens, user data (email, display name, profile image), and UI updates.
Migrate cat data from a JSON file to Cloud Firestore by creating a cats collection and adding documents with fields like name, adopted, id, and pictures.
Learn to upload cat images to Firebase storage, configure read-only rules, and link image URLs in the database so your Flutter app can display them from the cloud.
Connect your Flutter app to Cloud Firestore using document snapshot and real-time streams to fetch, map, and display cat data, listen for changes, and enforce read rules.
Install firebase tools, log in, initialize the project, and deploy database, storage, and cloud functions rules with a single command.
write and deploy a cloud function to support liking a cat in firebase. the function updates the firestore like counter via a transaction and prevents double likes and unlikes.
Implement Firebase integration in a flutter app to enable real-time CatBox likes. Build cloud functions, update Firestore likes, and reflect like state in the UI.
Flutter is Google's brand NEW mobile UI framework build to make developing beautiful and functional interfaces for both iOS and Android natively. Flutter Apps are written in a language called Dart, which is a simple client/server language that you'll learn along the way!
This course is designed specifically for people just starting out with Flutter and Mobile development who want to build a fully functioning, app that serves a real purpose. You'll learn how to tie your app into Firebase services in order to make it truly Serverless.
Some of the Firebase Services you'll learn along the way: