
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 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.
Master asynchronous execution with async and await. See how futures return results and how to handle success and errors during remote requests.
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.
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.
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.
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.
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 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.
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.
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: