Building a Diary Web App with Flutter and Firestore Online Course
Building a Diary Web App with Flutter and Firestore Online Course
4.9(125 ratings)
151 Learners
What’s Included
No. of Videos46
No. of hours10
Content TypeVideo
AccessImmediate
Access DurationLife Long Access
Building a Diary Web App with Flutter and Firestore Online Course
This course shows you how to use your Flutter/Dart skills to build dynamic, scalable web apps with Flutter 2.0. Through a capstone project, DiaryBook, you’ll create a complete Flutter web app with FirebaseAuth for authentication, Firestore for managing diary entries, and providers with StreamBuilders for state management. You’ll also learn advanced routing, user authentication with Google Cloud Firebase, and finally deploy your app to Firebase hosting. By the end, you’ll have the skills to build and deploy adaptive Flutter web apps that can also be ported to desktop.
Who should take this course?
This course is perfect for beginners, students, and aspiring developers who want to learn how to build practical web applications using Flutter and Firestore. It’s well-suited for those interested in combining front-end development with a cloud-based backend to create interactive, data-driven apps. Whether you’re new to app development or looking to strengthen your portfolio with a real-world project, this course will guide you through building a functional diary web app step by step.
What you will learn
Build a complete web app with Flutter web and Cloud Firebase Firestore
Master advanced Flutter APIs such as providers and routing
Learn how to use FirebaseAuth to authenticate web app users
Build adaptive, dynamic web apps with Flutter 2.0
Create, edit, delete, update diary entries with Cloud Firestore backend
Deploy Flutter web apps to Firebase hosting
Course Outline
Introduction
Introduction and Course Prerequisites
What You will be Building in this Course
Machine Setup - Windows Users Only
Set Up Your Windows Machine for Flutter Web Development
Machine Setup - Mac Users Only
Set Up Your Mac Machine for Flutter Web Development
Build a DiaryBook Flutter Web App
Set Up DiaryBook Project
Adding AppBar and DiaryBook Logo
Refactoring the MainPage Code
Adding a DropDown Menu
Changing the State of the DropDown Button
Setting Up AppBar's Circular Avatar and Signout
DiaryBook Web App - The Main Body
Setting Up the Main Page Body - The Left Side
Adding a DatePicker Package
Adding a Card Button and a Floating Action Button
Setting Up a Placeholder Listview - Right Side
DiaryBook Web App - FirebaseAuth and Cloud Firebase Firestore
Setting Up Firebase and Firestore Project
Reading Items from Firestore
Setting Up the Getting Started Page
Navigating to Login Page
Setting Up the Login Form
Login Form - Creating the BuildInput Decoration
Adding the Password Field and Refactoring the Form
Login Form - Adding Validation
Login a User - FirebaseAuth
Toggling Create Account Form and Login Form
Login User and Taking them to the Main Page
DiaryBook Web App - The User Profile
User Creation Structure
Crating a User and Adding to Firestore Users Collection
Creating a User Data Class
Creating a Service Class and Code Refactoring - Login Created for Users and Showing Them
Filtering Users and Showing Names on AppBar
Showing User Avatar and Changing the Flutter Web Renderer
Creating the CreateUserProfile Class
Constructing the CreateUserProfile Class - Dialogs and Fields
Updating a User Profile
Code Refactor - Update User Profile Dialog Class
Signing User Out
DiaryBook Web App - Creating, Updating, Deleting, and Showing Diary Entries
Introduction - Creating Diary Entries
Diary Entry Alert Dialog - Adding Two Buttons
Diary Entry Alert Dialog - Adding the Image Container
Diary Entry Alert Dialog - Adding TextFields
Diary Entry Alert Dialog - Refactor Code
Diary Entry Alert Dialog - Saving a Dummy Entry and Adding Saving Animation
Creating the Diary Model Class and Saving the Diaries with All Fields
Adding and Showing Filtered Diaries by UserId
Passing the Date to the Dialog
Showing and Saving the Date along with the Diary Entry
Refactoring our DiaryListView Code
DiaryBook Web App - Diary Listview and Saving Images to Firebase Storage
Refactoring and Setting Up the Diary Listview Card
Fixing the Expanding Issues and Adding Description and Dummy Image to Listview Card
Date Format - Show Full Date and Time
Adding an ImagePicker and Showing the Picked Image
Setting Up Firebase Storage and the Infrastructure to Save Images to Storage
Saving and Showing Images from Cloud Storage
Deleting an Entry
Refactor Our Delete Entry Dialog
Creating the Edit-Update Dialog: Delete Functionality Setup
Setting Up the Update-Details Dialog
FIX: Overflow Issues and Adding FutureDelay when Saving Images - Potential Bug Fix
Refactoring the List Card
DiaryBook Web App - Set Up the Update Dialog
Setting Up the Update Entry Dialog
Update Dialog - Adding Icons and Image
Update Dialog - Creating Fields and Pulling in the Diary Data
Update Dialog - Refactoring Code
Update Dialog - Setting Up the Image Picker and Delete Buttons
Update Dialog - Setting Up the Update Code
Fixing Some Null Issues
Passing a Widget as Parameter
DiaryBook Web App - Filtering Entries by Date and Updating the ListView
Filtering Entries by Date
Setting Up the GetSameDayDiaries Method
Indexing Firestore Database and Checking that We are Filtering Entries
Setting Up a List of Diaries
Showing Filtered Diaries by Date Picked
Restructuring the Filtered Diaries to be Shown and Showing the Empty Diary Card
Adding All Entries to a Provider Object
Filtering DiaryList by Current User and Adding a User Provider
DiaryBook Web App - Filtering Diary Entries Further - Earliest and Latest
Filtering Diary Entries Further - Earliest and Latest