The Advanced Flutter Course

A realistic, professional, full stack Flutter course where we build a production-ready Flutter app.

Learn simple, professional code architecture from a seasoned Flutter engineer.

 

Testimonials

avatar

"Nick is adept at distilling advanced concepts into easy-to-understand analogies. I would recommend his courses to developers at any level. He has also been a passionate mentor, and a prolific contributor to the global freeCodeCamp.org developer community. I am optimistic that his teaching will help you focus on expanding your real-world skills.", Quincy Larson, Founder of freeCodeCamp.org

avatar

"Nick has been an inspiration and an amazing teacher. Being one of the first tutors in the Flutter space says a lot regarding his experience. I always recommend Nick's tutorials/courses as it always delivers on the promise!", Robert Brunhage, Founder of robertbrunhage.com

avatar

"This course is well prepared and most importantly everything is easy to understand. The course shows the problems that you will face every day as a developer. I highly recommend it to everyone!", Kamil Pyrkosz, Advanced Flutter Student, github.com/tananga

Course Lessons

Module 01

Basic screens, asset caching, Supabase setup. (104 mins)

    Walk through a basic, scalable Flutter app structure. Common convention for handling pre/post login transitions and state. Understanding image sizing requirements. Per-environment app configuration management.

    Module 02

    Authentication with Supabase. (49 mins)

      How 3rd party authentication works. How to cleanly handle pre/post login navigation and state. Integrating Supabase in a Flutter app.

      Module 03

      Presenting Data from our Backend. (113 mins)

        Defining the Information Architecture of our app. Models, Repositories, Providers. Defining schema and querying data from Supabase. Migrations, test fixtures. Supabase queries. Wiring up data.Testing. Integration tests.

        Module 04

        Updating Calendar Dates and State Management. (59 mins)

          Finalizing our app's core functionality by allowing customization, a menu, log out and more.

          Module 05

          Submission to the Apple App and Google Play Stores

            If I hear from enough students that they'd be interested in this topic, I'll record some addendum videos!

             

            What Will You Build?

            screenshot

            Togther we build an app called Steady Calendar.

            Leveraging the power of Flutter, we'll build a beautiful, minimalist, platform agnostic UI.

            Users can tap the days they have made progress on a habit.

             

            Course Breakdown

            4
            Modules
            50
            Lessons
            5+
            Hours

            Follow along 1 hour a day and with some self study, finish in a week.

             

            Your Instructor

            Nick Manning teaching

            Nick incorporates 20 years of engineering and mentoring expertise into his course content.

            Within this time, 5 years went to iOS development and 4 years (and counting) to Flutter development. Nick has found nothing more fun than turning creative ideas into software.

            Nick has served in various technical leadership roles, from Capital One to numerous early stage startups as CTO and co-founder, including the TechStars accelerator and previous to that, Director of Mobile for the Trip Advisor acquired startup, CityMaps.

            Previous to these roles, Nick has held tech lead roles for a number of Fortune 500 clients and enterprise e-commerce projects such as reebok.de, adidas.ca to Taylor Made and Benefit Cosmetics.

            Most importantly, Nick's content is mission driven as he has a passion for mentoring others and teaching. A few years ago, he recently coached his brother-in-law from zero knowledge of programming to becoming a React developer in just over a year.

            Nick continues to write Flutter apps with his wife Irina, who specializes in UX design.

            Topics covered in This Course

            Full Stack
            Information Architecture
            State Management
            Inheritance and Mocking
            Advanced Grid
            Repository Pattern
            Image Caching
            Forms
            Models
            Code Architecture
            Supabase Storage
            Custom JSON Serialization
            Provider
            Integration Testing
            3rd Party Provider Auth
            Deep Linking
            Mocking Authentication
            Database Schema Design
             

            Why This Course is Unique

            #1 Based on an actual, professionally designed app that has been in the app store.

            The app that we'll build, Steady Calendar has been in the app store for years. It has also been professionally designed by my wife, Irina who specializes in mobile UX design.

            #2 Simple, Professional, Scalable Code Architecture Patterns

            In this course, I've leveraged my 2 decades of programming experience by ensuring code isn't over engineered, over architected but is still scalable and easy to maintain. This is something that is quite difficult to achieve for junior engineers developing their own Flutter courses.

            #3 Well Adopted, Hype-Free and Battle Tested Packages

            The topic of which packages to use and especially ones for state management is a contentious one. With over 4 years of Flutter experience behind our belts, we will introduce a carefully selected approach for leveraging state management in this course by using the very popular, battle tested Provider package.

             

            Who is this Course For?

            This course is for anyone who wants to take their basic experience with Flutter to the next level. Whether you want to start freelancing or working full time, this course will walk you through real the world skills needed to be a competent Flutter developer.

            Target Audience

            "Flutter familiar" developers who have a basic understanding of Flutter.

            "YouTube aficionados" who binge watch Flutter tutorials who now want a structured course.

            Web developers who want to break into multi-platform mobile development.

            iOS or Android developers who want to expand their skillset and become more marketable.

            Who Understands

            Basic programming constructs such as classes, methods, variables, etc.

            Basic data structures such as strings, ints, arrays etc.

            Installng Flutter packages.

            Very basic database concepts such as tables, queries, etc.

            Demo

            FAQ

            Do you offer student discounts?

            Yes. Email me at nick@fluttercrashcourse.com with proof that you are a student and you will receive a discount.

            Does this course cover null safety?

            Yes.

            Do I need to be a Dart pro to take this course?

            Not at all. You'll simply need some basic familiarity with Flutter and Dart.

            Why don't you use <state management package x> instead?

            Provider is the simplest and most battle tested, least complicated package out there. Other popular state management packages would be fine as a drop in replacement as long as they are as simple or simpler to use. Our philosphy is to avoid overly complex packages and it has worked well over the past few years developing Flutter apps. We have assessed a number of alternate state management packages and they are either not maintained properly, not mature enough or overly complex and hyped. Provider has proven to be a great middle ground and something that has been around long enough to avoid these concerns.

            Can I download the videos if I have a poor internet connection?

            Unfortunately, allowing folks to download videos typically has lead to illegal distribution in the past. But with that said, we offer auto-adaptive lower quality bitrate streaming for those without a great connection.

            General feedback? Comments? Say "hi" or reach out to nick@fluttercrashcourse.com.

            Join our community on Discord or ping me here @seenickcode.

            The Flutter Crash Course v3.4.1 © 2022, Manning Labs LLC