An advanced course covering the step by step development of Steady Calendar, a real app. We also cover Supabase in order to develop a backend server and database for this app.
Skill level: | Advanced |
Required skills: | Some experience with database, serving concepts and basic Flutter. |
Last updated: | |
Your progress: |
|
Welcome to this course!
What We'll Build in This Module
An initial directory structure for our app.
Setting up basic named routes
Setting up basic named routes
Our first custom widget
Full implementation of the intro slider
Considerations when planning out app image sizes.
09: Implementing login_options.dart
Setting up the groundwork for our login.
Architecture overview on why we'll need one.
11: Downloading Our Backgrounds
Setting up our files to upload.
A intro to supabase.io, the background platform we will use.
Review of what we will upload.
Setting up our supabase.com account.
15: Using Supabase Storage Buckets
Uploading our assets.
16: Building environment specific apps
Leveraging flutter_dotenv for configuration management.
Understanding and implementing image caching on the device.
18: Implementing a Basic Splash Screen
Setting up splash.dart to be used with Supabase.
Reviewing what we've learned.
An overview and walkthrough of what we'll be building.
An archtecture overview on how Supabase authentication works.
22: Supabase Auth Basic Configuration
Setting up basic auth configuration in your supabase.com account.
23: Creating Google OAuth Tokens
A walkthrough of how to create Google OAuth Tokens for our app.
Integrating the supabase_flutter package in our app.
Setting up deep linking for iOS devices.
Setting up deep linking for Android devices.
27: Finalizing splash.dart with Supabase
Leveraging Supabase's auth state to handle login transitions
28: Finalizing splash.dart with Supabase
A review of what we've learned
An overview and walkthrough of what we'll be building
Understanding the Importance of App IA
Modeling, Optional and Custom Types
Leveraging json_serialization, build_runner, Custom Types and Converters
Create tables, row level security, indexes and triggers.
How to query Supabase data using repositories
35: Creating our Calendar View
Using the table_calendar package to render a calendar.
36: State Management with Provider
Why we will use Provider as well as our implementation approach.
37: Integrating the provider package
Leveraging our repository with provider and integrating it into our app.
38: Integration, Widget Tests and Mocking
Why Integration Tests. Also, implementing a mock repository and provider.
39: Implementing Our Integration Tests
Leveraging integration tests with mocking.
What we've covered in this module.
The goals of the module, such as forms and managing data, are covered.
Creating, Updating and Deleting Data in Supabase.
43: Implementing Calendar List
Using ListView and Provider to avoid redundant calls to our backend.
Implementing our calendar edit screen for creation or updating of data.
Implementing our calendar background picker as a simple subscreen.
46: Validating and Saving Form Data
Implementing our delete, validate and save event in our form.
47: Handling Select Calendar Date Updates
Leveraging State to toggle calendar dates in our month grid.
Implementing our menu screen, web views and log out.
49: Expanding Integration Tests
Finalizing our integration tests by covering list and edit screens.
What we've learned in this module.