Flutter & Dart - The Complete Guide
Embark on a comprehensive journey into the world of professional software development. This course is meticulously designed to take you from a foundat...
Rating
5 /5
Enrolled
0
Community
0 Q&A
Course Objectives
Master core concepts through structured step-by-step guidance.
Build real-world projects that you can feature in your portfolio.
Understand industry-standard best practices and advanced methods.
Acquire practical skills designed to help you succeed immediately.
What You'll Learn
Implementing advanced algorithms and complex data structures.
Learning Front-end State Management (Redux, Vuex, etc.).
Understanding Database Design (SQL & NoSQL) for efficient storage.
Working with RESTful APIs and GraphQL for data management.
Developing a portfolio-ready Capstone project.
Developing production-ready applications with modern frameworks.
Deploying applications to cloud infrastructure with CI/CD pipelines.
Exploring Backend concurrency and multi-threading concepts.
Optimizing application performance, latency, and memory usage.
Using professional debugging and automated testing workflows.
Building scalable and maintainable software architectures from scratch.
Learning to write high-quality technical documentation.
Mastering industry-standard coding practices and clean code principles.
Understanding Containerization with Docker and Kubernetes.
Implementing Responsive Design principles for all screen sizes.
Mastering Version Control with Git and Collaborative Workflows.
Implementing SEO best practices for web applications.
Mastering CSS Preprocessors and modern styling techniques.
Course Curriculum
248 Sections • 777 Lessons • 71h 51m Total Length
001 Module Introduction
Locked003 From Dart To Machine Code
Locked004 How Programming Languages Work
Locked005 Starting From Scratch Understanding Functions
Locked006 Importing Features From Packages
Locked007 How Flutter Apps Start
Locked009 Understanding Widgets
Locked010 Using a First Widget & Passing Values to Functions
Locked011 Positional & Named Arguments
Locked013 Combining Multiple Widgets
Locked014 Understanding const Values
Locked015 Building More Complex Widget Trees
Locked016 Understanding Value Types
Locked017 Configuring Widgets & Understanding Objects
Locked018 Working with Configuration Objects (Non Widget Objects)
Locked019 Generics, Lists & Adding Gradient Colors
Locked020 How To Configure Widgets & Objects
Locked021 Practice Styling Text
Locked022 Onwards to Custom Widgets Why Do You Need Them
Locked023 Understanding Classes
Locked024 Building Custom Widgets
Locked025 Working with Constructor Functions
Locked026 Splitting Code Across Files
Locked027 Practice Create a Custom Widget
Locked028 Introducing Variables
Locked029 Variables & Types Combining Two Key Concepts
Locked030 final & const Special Kinds Of Variables
Locked031 Instance Variables (Properties) & Configurable Widgets
Locked032 Practice Reusable Widgets & Constructor Functions
Locked033 Displaying Images & Using Multiple Constructor Functions
Locked034 Adding Buttons & Using Functions As Values
Locked035 Styling Buttons & Working with Padding
Locked036 How NOT To Build Interactive Widgets
Locked037 Introducing Stateful Widgets
Locked038 Generating Random Numbers
Locked039 Module Summary
Locked001 Module Introduction
Locked002 A Challenge For You!
Locked003 Challenge Solution 12 Creating a Widget
Locked004 Challenge Solution 22 Working with More Widgets
Locked005 Adding Icons to Buttons
Locked006 Adding Transparency to Widgets
Locked007 Repetition & Exercise Adding a Stateful Widget
Locked008 Rendering Content Conditionally
Locked009 Accepting & Passing Functions as Values
Locked010 The initState Method
Locked012 Using Ternary Expressions & Comparison Operators
Locked013 Understanding if Statements
Locked016 Adding a Data Model & Dummy Data
Locked017 Configuring a Column
Locked018 Creating a Reusable, Custom Styled Button
Locked019 Accessing List Elements & Object Properties
Locked020 Mapping Lists & Using the Spread Operator
Locked021 Alignment, Margin & Padding
Locked022 Mutating Values in Memory
Locked023 Managing The Questions Index As State
Locked024 More on Button Styling
Locked025 Using Third Party Packages & Adding Google Fonts
Locked026 Passing Data via Functions Across Widgets
Locked027 More Conditions
Locked028 Getting Started with the Results Screen
Locked029 Passing Data to the Results Screen
Locked030 Introducing Maps & for Loops
Locked033 Accessing Map Values & Using Type Casting
Locked034 Combining Columns & Rows
Locked035 Expanded To The Rescue!
Locked036 Filtering & Analyzing Lists
Locked037 Making Content Scrollable with SingleChildScrollView
Locked038 Beyond the Basics Optional, Important Dart Features
Locked039 Module Summary
Locked001 Module Introduction
Locked002 The Starting Project & A Problem
Locked003 Understanding Error Messages
Locked004 Debugging Apps & Using Debug Mode
Locked005 Working with the Flutter DevTools
Locked001 Module Introduction
Locked002 Starting Setup & Repetition Time!
Locked003 Adding an Expense Data Model with a Unique ID & Exploring Initializer Lists
Locked004 Introducing Enums
Locked005 Creating Dummy Data
Locked006 Efficiently Rendering Long Lists with ListView
Locked007 Using Lists Inside Of Lists
Locked008 Creating a Custom List Item with the Card & Spacer Widgets
Locked009 Using Icons & Formatting Dates
Locked010 Setting an AppBar with a Title & Actions
Locked011 Adding a Modal Sheet & Understanding Context
Locked012 Handling User (Text) Input with the TextField Widget
Locked013 Getting User Input on Every Keystroke
Locked014 Letting Flutter do the Work with TextEditingController
Locked015 Time to Practice Adding a New Input
Locked016 Exercise Solution
Locked017 Closing The Modal Manually
Locked018 Showing a Date Picker
Locked019 Working with Futures for Handling Data from the Future
Locked020 Adding a Dropdown Button
Locked021 Combining Conditions with AND and OR Operators
Locked022 Validating User Input & Showing an Error Dialog
Locked023 Saving New Expenses
Locked024 Creating a Fullscreen Modal
Locked025 Using the Dismissible Widget for Dismissing List Items
Locked026 Showing & Managing Snackbars
Locked028 Getting Started with Theming
Locked029 Setting & Using a Color Scheme
Locked030 Setting Text Themes
Locked031 Using Theme Data in Widgets
Locked033 Adding Dark Mode
Locked034 Using Another Kind of Loop (for in)
Locked035 Adding Alternative Constructor Functions & Filtering Lists
Locked036 Adding Chart Widgets
Locked037 Module Summary
Locked001 Module Introduction
Locked002 What is Responsiveness
Locked003 Locking the Device Orientiation
Locked004 Updating the UI based on the Available Space
Locked005 Understanding Size Constraints
Locked006 Handling to Screen Overlays like the Soft Keyboard
Locked007 Understanding Safe Areas
Locked008 Using the LayoutBuilder Widget
Locked009 Building Adaptive Widgets
Locked010 Module Summary
Locked001 Module Introduction
Locked002 Three Trees Widget Tree, Element Tree & Render Tree
Locked003 How The UI Is Updated
Locked004 Refactor & Extract Widgets To Avoid Unnecessary Builds
Locked005 Understanding Keys Setup
Locked006 Which Problem Do Keys Solve
Locked007 Understanding & Using Keys
Locked008 Mutating Values in Memory & Making Sense of var, final & const
Locked009 Module Summary
Locked001 Module Introduction
Locked002 Project Setup
Locked003 Using a GridView
Locked004 Widgets vs Screens
Locked005 Displaying Category Items on a Screen
Locked006 Making any Widget Tappable with InkWell
Locked007 Adding Meals Data
Locked008 Loading Meals Data Into a Screen
Locked009 Adding Cross Screen Navigation
Locked010 Passing Data to the Target Screen
Locked011 Introducing the Stack Widget
Locked012 Improving the MealItem Widget
Locked013 Adding Navigation to the MealDetails Screen
Locked014 Improving the MealDetails Screen
Locked015 Adding Tab based Navigation
Locked016 Passing Functions Through Multiple Layers of Widgets (for State Management)
Locked017 Managing App wide State & Data
Locked018 Adding a Side Drawer
Locked019 Closing the Drawer Manually
Locked020 Adding a Filter Item
Locked021 Replacing Screens (Instead of Pushing)
Locked022 Adding More Filter Options
Locked024 Returning Data When Leaving a Screen
Locked025 Reading & Using Returned Data
Locked026 Applying Filters
Locked028 Module Summary
Locked001 Module Introduction
Locked002 What's The Problem
Locked003 Installing the Solution Riverpod
Locked004 How State Management with Riverpod Works
Locked005 Creating a Provider
Locked006 Using a Provider
Locked007 Creating a More Complex Provider with StateNotifier
Locked008 Using the FavoritesProvider
Locked009 Triggering a Notifier Method
Locked010 Getting Started with Another Provider
Locked011 Combining Local & Provider managed State
Locked012 Outsourcing State Into The Provider
Locked013 Connecting Multiple Providers With Each Other (Dependent Providers)
Locked014 Swapping The Favorite Button Based On Provider State
Locked015 Module Summary
Locked001 Module Introduction
Locked002 Setup & Understanding Explicit vs Implicit Animations
Locked003 Explicit Animations Adding an Animation Controller
Locked004 Explicit Animations Playing the Animation with AnimatedBuilder
Locked005 Finetuning Explicit Animations
Locked006 Getting Started with Implicit Animations
Locked007 Configuring Implicit Animations
Locked008 Adding Multi Screen Transitions
Locked009 Module Summary
Locked001 Module Introduction
Locked002 Setup & A Challenge For You
Locked003 Challenge Solution 1 Building & Using Models
Locked004 Challenge Solution 2 Building the List UI
Locked005 Adding a New Item Screen
Locked006 The Form & TextFormField Widgets
Locked007 A Form aware Dropdown Button
Locked008 Adding Buttons to a Form
Locked009 Adding Validation Logic
Locked010 Getting Form Access via a Global Key
Locked011 Extracting Entered Values
Locked012 Passing Data Between Screens
Locked013 Final Challenge Solution
Locked014 Module Summary
Locked001 Module Introduction
Locked002 What's a Backend And Why Would You Want One
Locked003 What Is HTTP & How Does It Work
Locked004 Setting Up a Dummy Backend (Firebase)
Locked005 Adding the http Package
Locked006 Sending a POST Request to the Backend
Locked007 Working with the Request & Waiting for the Response
Locked008 Fetching & Transforming Data
Locked009 Avoiding Unnecessary Requests
Locked010 Managing the Loading State
Locked011 Error Response Handling
Locked012 Sending DELETE Requests
Locked013 Handling the No Data Case
Locked014 Better Error Handling
Locked015 Module Summary
Locked016 Using the FutureBuilder Widget
Locked001 Module Introduction
Locked002 Setup & A Challenge For You!
Locked003 Adding a Place Model (Challenge Solution 16)
Locked004 Adding a Places Screen (Challenge Solution 26)
Locked005 Adding an Add Place Screen (Challenge Solution 36)
Locked006 Adding riverpod & A Provider (Challenge Solution 46)
Locked007 Adding Places with Provider & Displaying Places (Challenge Solution 56)
Locked008 Adding a Place Details Screen (Challenge Solution 66)
Locked009 Adding a Pick an Image Input
Locked010 Installing the Image Picker Package
Locked011 Using the Device Camera For Taking Pictures
Locked012 Adding the Picked Image to the Model & Add Place Form
Locked013 Previewing the Picked Image
Locked015 Adding the location Package & Starting with the Get Location Input Widget
Locked016 Getting the User's Current Location
Locked017 Using the Google Maps API Setup
Locked018 Using Google's Geocoding API
Locked019 Storing the Location Data in the Model
Locked020 Displaying a Location Preview Map Snapshot via Google
Locked021 Using the Picked Location in the Form
Locked022 Outputting the Location Data
Locked023 Installing & Configuring the Google Maps Package
Locked024 Adding a Map Screen
Locked025 Displaying the Picked Place on a Dynamic Map
Locked026 Handling Map Taps for Selecting a Location Manually
Locked027 Using the Map Screen in the Add Place Form
Locked028 Installing Packages for Local (On Device) Data Storage
Locked029 Storing the Picked Image Locally
Locked030 Storing Place Data in a (On Device) SQL Database
Locked031 Loading Data from the SQL Database
Locked032 Using a FutureBuilder for Loading Data
Locked033 Module Summary
Locked001 Module Introduction
Locked002 App & Firebase Setup
Locked003 Adding an Authentication Screen
Locked004 Adding Buttons & Modes to the Authentication Screen
Locked005 Validating User Input
Locked006 Firebase CLI & SDK Setup 12
Locked008 Firebase CLI & SDK Setup 22
Locked009 Signing Users Up
Locked010 Logging Users In
Locked011 Showing Different Screens Based On The Authentication State
Locked012 Adding a Splash Screen (Loading Screen)
Locked013 Adding User Logout
Locked014 Image Upload Setup & First Steps
Locked015 Adding a User Image Picker Widget
Locked016 Using the ImagePicker Package
Locked017 Managing The Selected Image In The Authentication Form
Locked018 Uploading Images To Firebase
Locked019 Showing a Loading Spinner Whilst Uploading
Locked020 Adding a Remote Database Firestore Setup
Locked021 Sending Data to Firestore
Locked022 Storing a Username
Locked023 Adding ChatMessages & Input Widgets
Locked025 Sending & Reading Data To & From Firestore
Locked026 Loading & Displaying Chat Messages as a Stream
Locked027 Styling Chat Message Bubbles
Locked028 Push Notifications Setup & First Steps
Locked029 Requesting Permissions & Getting an Address Token
Locked030 Testing Push Notifications
Locked031 Working with Notification Topics
Locked032 Sending Push Notifications Automatically via Cloud Functions
Locked033 Module Summary
Locked001 About the Course Update & How To Proceed
Lockedgetting started 01 welcome
Lockedgetting started 02 what is flutter
Lockedgetting started 03 the flutter architecture 1
Lockedgetting started 04 flutter macos setup 3
Lockedgetting started 04 how flutter compiles
Lockedgetting started 05 macos dev environment setup 3
Lockedgetting started 05 understanding flutter versions
Lockedgetting started 06 windows flutter setup 5
Lockedgetting started 07 windows dev environment setup 3
Lockedgetting started 10 material design
Lockedgetting started 11 flutter alternatives
Lockedgetting started 12 course outline
Lockedgetting started 13 getting the most out of the course
Lockedbasics 01 intro
Lockedbasics 02 creating a new project 2
Lockedbasics 02 creating a new project 3
Lockedbasics 02 creating a new project
Lockedbasics 03 understanding files and folders 2
Lockedbasics 03 understanding files and folders
Lockedbasics 04 analyzing the starting app
Lockedbasics 05 some dart basics 1
Lockedbasics 06 more dart introduction
Lockedbasics 07 starting work on the main file
Lockedbasics 08 running our app
Lockedbasics 09 constructors and named arguments
Lockedbasics 10 first summary and more syntax
Lockedbasics 11 building a widget tree
Lockedbasics 12 visible and invisble widgets
Lockedbasics 13 adding layout widgets
Lockedbasics 14 connection functions to buttons
Lockedbasics 15 anonymous functions
Lockedbasics 16 updating widget data
Lockedbasics 17 updating data correctly with stateful widgets
Lockedbasics 18 a first brief look at how flutter reacts to state changes
Lockedbasics 19 private properties
Lockedbasics 20 creating a custom new widget
Lockedbasics 21 first styling and layouting steps
Lockedbasics 22 enums and multiple constructors
Lockedbasics 23 docs and widget catalog
Lockedbasics 24 passing callbacks around fixed 2
Lockedbasics 25 introducing maps
Lockedbasics 25 introducing maps
Lockedbasics 26 mapping lists to widgets
Lockedbasics 27 final vs const
Lockedbasics 28 introducing if statements
Lockedbasics 29 outputting widgets conditionally
Lockedbasics 30 splitting the app into widgets 2
Lockedbasics 31 calculating a total score 2
Lockedbasics 32 getters and else if
Lockedbasics 33 resetting the quiz
Lockedbasics 34 the new buttons
Lockedbasics 35 wrap up
Lockedbasics assignment problem
Lockedbasics assignment solution
Lockedbasics if statements
Lockedbasics null and null safety 2
Lockedbasics null and null safety
Lockedbasics null
Lockedtest debug 01 intro
Lockedtest debug 02 running the app on a real android device
Lockedtest debug 03 running on ios simulators
Lockedtest debug 04 running the app on a real ios device
Lockedtest debug 05 working with the emulators
Lockedtest debug 06 working with error messages
Lockedtest debug 07 using the debugger
Lockedtest debug 08 getting started with the dart devtools
Lockedtest debug 09 understanding the repaint rainbow
Lockedtest debug 10 wrapping up the dart devtools
Lockedreal apps 01 intro
Lockedreal apps 02 core widget overview
Lockedreal apps 03 planning the app
Lockedreal apps 04 combining widgets 2
Lockedreal apps 05 column alignment
Lockedreal apps 06 adding a transaction model and data
Lockedreal apps 07 mapping data to widgets
Lockedreal apps 08 building a custom list item
Lockedreal apps 09 styling a container
Lockedreal apps 10 adding textstyles
Lockedreal apps 11 more styling
Lockedreal apps 12 containers vs column and row
Lockedreal apps 13 string interpolation
Lockedreal apps 14 formatting a date with a external package
Lockedreal apps 15 adding text input widgets
Lockedreal apps 16 fetching user input
Lockedreal apps 17 splitting the app into widgets
Lockedreal apps 18 connecting widgets managing state
Lockedreal apps 19 adding transactions to our list
Lockedreal apps 20 adding a scrollview
Lockedreal apps 21 working with listviews
Lockedreal apps 22 further input and output styling and config
Lockedreal apps 23 adding actionbar buttons and fabs
Lockedreal apps 24 showing a modal bottom sheet
Lockedreal apps 25 modal sheet improvements and stateful widget property
Lockedreal apps 26 using themes
Lockedreal apps 27 custom fonts and text themes updated
Lockedreal apps 28 adding images
Lockedreal apps 29 planning the chart
Lockedreal apps 30 looping through lists
Lockedreal apps 31 deriving recent transactions with more list methods
Lockedreal apps 32 creating a chart bar
Lockedreal apps 33 populating the chart with values 2
Lockedreal apps 34 finishing the chart bar
Lockedreal apps 35 flexible deep dive
Lockedreal apps 36 adding a listtile widget
Lockedreal apps 37 improving the chart
Lockedreal apps 38 widgets and config options summary
Lockedreal apps 39 adding first date controls and button theme
Lockedreal apps 40 showing the datepicker and saving the date
Lockedreal apps 41 adding transactions with date
Lockedreal apps 42 deleting transactions
Lockedreal apps 43 polishing the app
Lockedreal apps 44 wrap up
Lockedresponsive adaptive 01 intro
Lockedresponsive adaptive 02 what is responsive and adaptive
Lockedresponsive adaptive 03 improvement examples
Lockedresponsive adaptive 04 calculating sizes dynamically
Lockedresponsive adaptive 05 using layoutbuilder
Lockedresponsive adaptive 06 controlling device orientation update
Lockedresponsive adaptive 06 controlling device orientation
Lockedresponsive adaptive 07 rendering different content in landscape mode start
Lockedresponsive adaptive 08 finishing landscape mode
Lockedresponsive adaptive 09 different content based on orientation
Lockedresponsive adaptive 10 respecting softkeyboard insets
Lockedresponsive adaptive 11 using device size in conditions
Lockedresponsive adaptive 12 managing the media query object
Lockedresponsive adaptive 13 adaptive widgets and platform checks
Lockedresponsive adaptive 14 using cupertino widgets
Lockedresponsive adaptive 15 using the safearea
Lockedresponsive adaptive 16 more cupertino styles
Lockedresponsive adaptive 17 cupertino buttons
Lockedresponsive adaptive 18 custom adaptive widgets
Lockedresponsive adaptive 19 wrap up
Lockeddeep dive 01 intro
Lockeddeep dive 02 the problem at hand
Lockeddeep dive 03 widget tree and element tree
Lockeddeep dive 04 how flutter rebuilds and repaints the screen
Lockeddeep dive 05 how flutter runs build
Lockeddeep dive 06 using const widgets and constructors
Lockeddeep dive 07 writing good code
Lockeddeep dive 08 extracting widgets
Lockeddeep dive 09 using builder methods
Lockeddeep dive 10 assignment problem
Lockeddeep dive 11 assignment solution
Lockeddeep dive 12 the widget lifecycle
Lockeddeep dive 13 the app lifecycle
Lockeddeep dive 14 understanding context
Lockeddeep dive 15 a problem with lists and stateful widgets
Lockeddeep dive 16 understanding the problem root
Lockeddeep dive 17 using keys
Lockeddeep dive 18 wrap up
Lockednavigation 01 intro
Lockednavigation 02 planning the app
Lockednavigation 03 starting with the app working on base data 2
Lockednavigation 04 creating grid items with a linear gradient
Lockednavigation 05 registering a screen as the main screen
Lockednavigation 06 styling and theming
Lockednavigation 07 navigating to a new page
Lockednavigation 08 passing data via the constructor
Lockednavigation 09 using named routes and passing data
Lockednavigation 10 more on named routes
Lockednavigation 11 adding meals model and data
Lockednavigation 12 selecting meals for a chosen category
Lockednavigation 13 displaying recipe items with network images
Lockednavigation 14 finishing the meal list items
Lockednavigation 15 navigating to the meal detail page
Lockednavigation 16 ongenerateroute and onunknownroute
Lockednavigation 17 finishing the meals detail page
Lockednavigation 18 appbar tabbar
Lockednavigation 19 bottom tabbar
Lockednavigation 20 adding a custom side drawer
Lockednavigation 21 adding links to the drawer
Lockednavigation 22 replacing pages
Lockednavigation 23 popping and passing data back
Lockednavigation 24 adding filter switches
Lockednavigation 25 adding filtering logic
Lockednavigation 26 adding favoriting feature
Lockednavigation 27. fixing the problem
Lockednavigation 28 wrap up
Lockedstate mgmt 01 intro
Lockedstate mgmt 02 planning the app
Lockedstate mgmt 03 defining a data model 2
Lockedstate mgmt 03 defining a data model
Lockedstate mgmt 04 working on the product grid and items
Lockedstate mgmt 05 styling theming the app
Lockedstate mgmt 06 adding navigation
Lockedstate mgmt 07 understanding the problem and state and state mgmt
Lockedstate mgmt 08 understanding the provider approach
Lockedstate mgmt 09 working with providers and listeners update
Lockedstate mgmt 10 listening to data in different places and ways
Lockedstate mgmt 11 providing and listening nested models 2
Lockedstate mgmt 12 alternative provider syntaxes update
Lockedstate mgmt 13 consumer instead of provider of
Lockedstate mgmt 14 local vs appwide state
Lockedstate mgmt 15 adding cart data
Lockedstate mgmt 16 using multiprovider update
Lockedstate mgmt 17 connecting the cart provider
Lockedstate mgmt 18 working on cart page displaying total
Lockedstate mgmt 19 displaying cartitem list
Lockedstate mgmt 20 dismissing cart items
Lockedstate mgmt 21 adding product detail data
Lockedstate mgmt 22 providing an orders object update
Lockedstate mgmt 23 adding orders
Lockedstate mgmt 24 adding an orders screen
Lockedstate mgmt 25 adding a drawer
Lockedstate mgmt 26 expanding orders stateful widget
Lockedstate mgmt 27 wrap up
Lockedinput forms 01 intro
Lockedinput forms 02 working with snackbars undo cart additions
Lockedinput forms 03 showdialog to confirm dismissal
Lockedinput forms 04 adding a manage products page
Lockedinput forms 05 edit product screen and understanding the problem
Lockedinput forms 06 adding a form and first input
Lockedinput forms 07 more input and managing focus
Lockedinput forms 08 multiline input and disposing focusnodes
Lockedinput forms 09 adding an image input with preview
Lockedinput forms 10 submitting forms
Lockedinput forms 11 adding validation
Lockedinput forms 12 adding validation to all inputs
Lockedinput forms 13 adding products
Lockedinput forms 14 updating products
Lockedinput forms 15 deleting products
Lockedinput forms 16 wrap up
Lockedhttp 01 intro
Lockedhttp 02 device vs web storage
Lockedhttp 03 connecting flutter to databases
Lockedhttp 04 preparing the backend
Lockedhttp 05 how to send http requests
Lockedhttp 06 sending a post request
Lockedhttp 07 working with futures
Lockedhttp 08 showing a loading indicator
Lockedhttp 09 error handling update
Lockedhttp 10 async await
Lockedhttp 11 fetching data initstate and context
Lockedhttp 12 transforming loaded data
Lockedhttp 13 pull to refresh updated
Lockedhttp 14 updating data with patch
Lockedhttp 15 optimistic updating
Lockedhttp 16 custom exceptions and more error handling
Lockedhttp 17 a challenge for you
Lockedhttp 18 optimistic updating of favorite status
Lockedhttp 19 storing orders
Lockedhttp 20 fetching orders and fixing an issue
Lockedhttp 21 futurebuilder and code improvements updated
Lockedhttp 22 wrap up
Lockedauth 01 intro
Lockedauth 02 how auth works
Lockedauth 03 prepare backend
Lockedauth 04 adding the authscreen
Lockedauth 05 user signup
Lockedauth 06 adding login
Lockedauth 07 error handling
Lockedauth 08 managing the auth token locally
Lockedauth 09 proxyprovider and attaching the token to outgoing requests update 3
Lockedauth 10 adding token to all requests
Lockedauth 11 attaching favorite status to users
Lockedauth 12 filtering products by creator
Lockedauth 13 attaching orders to users
Lockedauth 14 adding logout
Lockedauth 15 auto logout
Lockedauth 16 adding auto login
Lockedauth 17 wrap up
Lockedanimations 01 intro
Lockedanimations 02 a fully controlled animation
Lockedanimations 03 using animated builder
Lockedanimations 04 using animatedcontainer
Lockedanimations 05 more built in animations and docs
Lockedanimations 06 adding fadeinimage
Lockedanimations 07 the hero transition
Lockedanimations 08 adding sliver appbar
Lockedanimations 09 orders practice
Lockedanimations 10 custom route transitions
Lockedanimations 11 wrap up
Lockednative 01 intro
Lockednative 02 planning the app
Lockednative 03 place list and place provider setup 2
Lockednative 03 place list and place provider setup
Lockednative 04 adding the add screen and image input
Lockednative 05 using the image picker and camera
Lockednative 06 storing the image on the filesystem 1
Lockednative 07 managing data and images with provider
Lockednative 08 checking for images
Lockednative 09 testing on real devices
Lockednative 10 sqlite preparing insert code
Lockednative 11 storing and fetching data with sqlite
Lockednative 12 adding a location input and location package
Lockednative 13 getting the user coordinates
Lockednative 14 displaying a static map
Lockednative 15 rendering a google maps screen
Lockednative 16 picking a location on the map
Lockednative 17 location in sql and fixes
Lockednative 18 place detail screen and readonly map
Lockednative 19 wrap up
Lockednative code 01 intro
Lockednative code 02 sending a method call from flutter
Lockednative code 03 running android code
Lockednative code 04 running on ios
Lockednative code 05 wrap up
Lockedpublish 01 intro
Lockedpublish 02 polishing
Lockedpublish 03 prepare app config
Lockedpublish 04 prepare third party services
Lockedpublish 05 icons and splash screen
Lockedpublish 06 publish android apps
Lockedpublish 07 publish ios apps
Lockedfirebase 01 intro
Lockedfirebase 02 what is firebase
Lockedfirebase 03 creating a new app
Lockedfirebase 04 getting started with firebase
Lockedfirebase 05 getting started with firestore and flutter sdk
Lockedfirebase 06 rendering stream items with streambuilder
Lockedfirebase 07 adding data
Lockedfirebase 08 basic auth screen
Lockedfirebase 09 setting app themes
Lockedfirebase 10 creating an auth form
Lockedfirebase 11 connecting auth form and auth screen
Lockedfirebase 12 implementing auth
Lockedfirebase 13 store extra user data
Lockedfirebase 14 finishing auth and logout
Lockedfirebase 15 firebase security rules
Lockedfirebase 16 listening to chat messages
Lockedfirebase 17 sending and ordering chat messages
Lockedfirebase 18 creating a base chat bubble widget
Lockedfirebase 19 improving the chat bubbles
Lockedfirebase 20 cross device testing
Lockedfirebase 21 displaying user names on chat bubbles
Lockedfirebase 22 adding an image picker
Lockedfirebase 23 preparing file upload
Lockedfirebase 24 uploading images
Lockedfirebase 25 improving image upload
Lockedfirebase 26 running on a real ios device
Lockedfirebase 27 displaying user images
Lockedfirebase 28 how push notifications work
Lockedfirebase 29 an introduction to firebase cloud messaging
Lockedfirebase 30 android push notifications
Lockedfirebase 31 ios push notifications
Lockedfirebase 32 handling push notifications
Lockedfirebase 33 getting started with cloud functions
Lockedfirebase 34 setting a firestore trigger 1
Lockedfirebase 35 sending automated push notifications 1
Lockedfirebase 36 polishing
Locked002 Course Roundup
Locked001 course update info
Lockedanimations 01 custom animation
Lockedanimations 02 animatedbuilder
Lockedanimations 03 animatedcontainer
Lockedanimations 04 more built in animations
Lockedanimations 05 fadeinimage
Lockedanimations 06 hero and slivers
Lockedanimations 07 finished
Lockedauth 01 authscreen
Lockedauth 02 signup
Lockedauth 03 login
Lockedauth 04 error handling
Lockedauth 05 using the token
Lockedauth 06 attaching products to users
Lockedauth 07 logout
Lockedauth 08 auto logout
Lockedauth 09 auto login
Lockedauth 10 finished
Lockedauth 10 finished provider 4
Lockedbasics 00 starting project
Lockedbasics 01 building a widget tree
Lockedbasics 02 column raisedbutton anonymous functions
Lockedbasics 03 incorrect stateless widget
Lockedbasics 04 stateful widget private properties
Lockedbasics 05 custom stateless widget
Lockedbasics 06 added answer mapping
Lockedbasics 07 final const
Lockedbasics 08 added if and ternary expression
Lockedbasics 09 splitting into widgets
Lockedbasics 10 finished
Lockeddebugging 01 finished
Lockeddeep dive 01 flutter build const
Lockeddeep dive 02 builder methods
Lockeddeep dive 03 widget lifecycle
Lockeddeep dive 04 app lifecycle
Lockeddeep dive 05 finished
Lockeddeep dive assignment solution
Lockedexternal links
Lockedfirebase 01 starting setup
Lockedfirebase 02 first flutter firebase example
Lockedfirebase 03 added theme
Lockedfirebase 04 added auth form
Lockedfirebase 05 basic auth form submission
Lockedfirebase 06 added firebase auth
Lockedfirebase 07 logout
Lockedfirebase 08 messages widget
Lockedfirebase 09 ordered messages
Lockedfirebase 10 styled messages
Lockedfirebase 11 added username display
Lockedfirebase 12 added image picker
Lockedfirebase 13 image validation
Lockedfirebase 14 image upload
Lockedfirebase 15 improved image upload
Lockedfirebase 16 display user images
Lockedfirebase 17 base notification code
Lockedfirebase 18 polishing
Lockedfirebase 19 updated to latest firebase packages
Lockedfirst app
Lockedfonts
Lockedhttp 01 send post without response
Lockedhttp 02 use post response
Lockedhttp 03 loading spinner
Lockedhttp 04 error handling
Lockedhttp 05 async await
Lockedhttp 06 fetch get products
Lockedhttp 07 pull to refresh
Lockedhttp 08 delete and optimistic updating
Lockedhttp 09 fav status and orders
Lockedhttp 10 finished
Lockedicons
Lockedimage
Lockedinput 01 snackbar
Lockedinput 02 showdialog
Lockedinput 03 empty edit product screen
Lockedinput 04 managing focus
Lockedinput 05 description field
Lockedinput 06 image input
Lockedinput 07 submit form
Lockedinput 08 validation
Lockedinput 09 finished
Lockednative 01 starting setup
Lockednative 02 places list and provider
Lockednative 03 image picker
Lockednative 04 outputting images
Lockednative 05 sqflite
Lockednative 06 location input and location
Lockednative 07 google maps screen
Lockednative 08 selecting a place
Lockednative 09 storing location in db
Lockednative 10 finished
Lockednative code 01 starting setup
Lockednative code 02 added flutter code
Lockednative code 03 android code
Lockednative code 04 ios code
Lockednative code 05 finished
Lockednav 01 starting setup
Lockednav 02 categories and categories screen
Lockednav 03 theme and font
Lockednav 04 pushing and passing data
Lockednav 05 named routes and args
Lockednav 06 finished meal items
Lockednav 07 navigation to detail page
Lockednav 08 recipe detail page
Lockednav 09 appbar tabs
Lockednav 10 bottom tabs
Lockednav 11 drawer
Lockednav 12 replacing screens
Lockednav 13 passing data back
Lockednav 14 finished
Lockedproducts
Lockedquestions
LockedREADME HOW TO USE
Lockedreal apps 01 starting setup
Lockedreal apps 02 card with container
Lockedreal apps 03 column alignment
Lockedreal apps 04 list of transaction cards
Lockedreal apps 05 textfields and button
Lockedreal apps 06 user input on every keystroke
Lockedreal apps 07 using texteditingcontroller
Lockedreal apps 08 add transaction flow
Lockedreal apps 09 scrollable column
Lockedreal apps 10 listview children
Lockedreal apps 11 listview builder
Lockedreal apps 12 modal sheet
Lockedreal apps 13 added theming
Lockedreal apps 14 added fonts and images
Lockedreal apps 15 chart and chartbars
Lockedreal apps 16 added listtile
Lockedreal apps 17 date input and picker
Lockedreal apps 18 finished
Lockedresp 01 dynamically calculated widgets
Lockedresp 02 different uis based on orientation
Lockedresp 03 respect keyboard
Lockedresp 04 width check in condition
Lockedresp 05 adaptive widget and platform check
Lockedresp 06 cupertino widgets
Lockedresp 07 finished
Lockedsplash
Lockedsplash ios
Lockedstate 01 starting setup
Lockedstate 02 detail screen
Lockedstate 03 provider package
Lockedstate 04 provider with single product
Lockedstate 05 consumer and alternative syntaxes
Lockedstate 06 stateful widget
Lockedstate 07 cart badge and connected model
Lockedstate 08 product detail page
Lockedstate 09 orders screen
Lockedstate 10 finished
Lockedstate 10 finished provider 4
Lockedwidget playground finished
Lockedwidget playground start
LockedCourse Description
Why This Course is Different
• Deep dive into modern architectural patterns and best practices.
• Hands-on experience with the latest industry frameworks and tools.
• Portfolio-focused projects that demonstrate your engineering capabilities.
• Guidance on passing technical interviews and landing your dream job.
A Comprehensive Learning Journey
From the very first module, you'll be immersed in practical, hands-on activities designed to bridge the gap between knowledge and action. We cover everything from foundational principles to advanced techniques that even many industry veterans overlook. By the end of this course, you won't just 'know' the subject; you will have the confidence and the evidence (through your projects) to prove your mastery to yourself and to the world at large. Welcome to the elite level of performance.
Requirements
- Motivation to practice coding daily and solve problems.
- Basic understanding of programming logic and syntax.
- Standard internet connection for downloading packages.
- Familiarity with command-line tools is helpful but not required.
Target Audience
- Aspiring developers looking to enter the tech industry.
- Self-taught programmers wanting to solidify their knowledge.
- Computer science students seeking practical, real-world skills.
- Professionals transitioning into software engineering.
Feedback Reviews
Course Price
This Course Includes:
Secure Payment Processing: SSL-AES256
Secured
Eternal
Flash
Total Price