Home/Courses/Flutter Part 2: Real Apps

Intermediate, Blue run Apps

Build real, multi-screen Flutter apps that talk to live data

Part 2 of the Flutter series. Navigation, forms, state management, REST APIs, local storage, the camera and testing, brought together in a complete app. Includes 2 hours of 1:1 tutoring with George, a web and mobile app developer with over 10 years' experience.

Recording now. Join the waitlist and you will hear first, with an early-bird price.

10Modules
60Lessons
11.5 hoursVideo
2Hours of 1:1 included
IntermediateLevel
Full courseCapstone, exam and certificate

Sound familiar?

Single-screen tutorial apps are easy. Real apps are not: data has to move between screens, forms need validating, API calls fail, the phone goes offline and one change breaks something three screens away. Without a clear way to organise state and code, projects become hard to change very quickly. This course teaches one clear approach to state management and app structure, explains the main alternatives honestly, and shows you how to test what you build.

What you'll build

A complete multi-screen events app that loads live data from a REST API, lets users search, filter and save favourites to a local database, uses forms with validation and the camera for photos, and comes with unit and widget tests and a release build.

By the end you'll be able to

  • Plan an app's screens, data and folder structure before you start coding.
  • Build multi-screen navigation with tabs, menus, passed data and deep links.
  • Create forms with clear validation, the right keyboards and accessible labels.
  • Manage shared state with Provider and ChangeNotifier, and explain when Riverpod or Bloc might suit a project better.
  • Fetch, parse and send JSON data from a REST API, with loading and error states handled properly.
  • Store settings, files and structured data on the device and cache API results.
  • Let users pick or take photos, with permissions handled correctly on Android and iOS.
  • Write unit, widget and integration tests and use them to catch regressions.

Capstone project

Finish with something real

Build it on your own site, or a practice brief if you do not have one, and submit it for personal written feedback from George. Pass the capstone and the final exam to earn your certificate.

Who it's for

  • Part 1 graduates. you have the foundations and want to build apps that feel like the ones on your phone.
  • Web developers. you already work with APIs and JSON on the web and want to apply that to mobile apps.
  • Taught Flutter learners. you have followed tutorials but your projects get messy, and you want a clear structure and testing habits.
  • Career changers. you want a substantial portfolio project that shows employers you can build a real app.

Who it's not for

  • Complete beginners. Take Flutter Part 1: Foundations first.
  • Developers who want an in-depth comparison of every state management library. We teach one approach well and compare the others briefly.
  • Anyone looking for user accounts, cloud databases or payments. Those are covered in Part 3.

Curriculum

10 modules and 60 short lessons, about 11.5 hours of video. Every module ends with a quick quiz and an exercise on your own site.

01Planning a real app6 lessons, 64 mins

Plan screens and data, set up a tidy project and choose packages with care.

  1. From idea to screens and user flows11 min
  2. Project structure and folders that scale11 min
  3. Packages and pub.dev: choosing them safely12 min
  4. Linting and consistent code style8 min
  5. Git basics for app projects12 min
  6. Reading the Flutter docs and error messages10 min
02Navigation and routing6 lessons, 69 mins

Build multi-screen navigation with tabs, menus, passed data and deep links.

  1. Navigator push and pop11 min
  2. Passing data between screens and returning results11 min
  3. Declarative routing with go_router15 min
  4. Bottom navigation and tabs12 min
  5. Drawers and nested navigation10 min
  6. Deep links explained10 min
03Forms and validation6 lessons, 64 mins

Build forms that validate input clearly and are pleasant to fill in on a phone.

  1. Form and TextFormField12 min
  2. Validation rules and helpful error messages11 min
  3. Keyboard types, focus and input formatters11 min
  4. Dropdowns, date pickers and time pickers11 min
  5. Submitting and showing loading states10 min
  6. Accessible forms9 min
04State management7 lessons, 85 mins

Manage shared app state cleanly with Provider and ChangeNotifier, and know the alternatives.

  1. What state is and why setState stops scaling11 min
  2. Lifting state up10 min
  3. ChangeNotifier and Provider16 min
  4. Reading, watching and selecting state12 min
  5. Structuring an app with view models and repositories15 min
  6. Alternatives compared: Riverpod, Bloc and others13 min
  7. Choosing an approach for your own projects8 min
05REST APIs and JSON7 lessons, 83 mins

Fetch, send and display live data from a REST API with proper loading and error handling.

  1. How APIs work: requests, responses and status codes11 min
  2. Making GET requests with the http package12 min
  3. Parsing JSON into Dart model classes15 min
  4. Code generation with json_serializable11 min
  5. POST, PUT and DELETE requests12 min
  6. FutureBuilder, loading and error states12 min
  7. API keys and what never to put in an app10 min
06Local storage5 lessons, 58 mins

Save settings, files and structured data on the device, and cache API results.

  1. Saving settings with shared_preferences10 min
  2. Reading and writing files10 min
  3. A local database with SQLite16 min
  4. Secure storage for tokens10 min
  5. Caching API data for speed12 min
07Images and the camera5 lessons, 56 mins

Show remote images efficiently and let users pick or take photos with the right permissions.

  1. Network images and caching10 min
  2. Picking images from the gallery11 min
  3. Taking photos with the camera12 min
  4. Permissions on Android and iOS13 min
  5. Resizing and compressing images before upload10 min
08Lists, polish and animation6 lessons, 66 mins

Make data-heavy screens fast and friendly, with search, refresh and smooth transitions.

  1. Building efficient long lists12 min
  2. Pull to refresh and infinite scrolling12 min
  3. Search and filtering11 min
  4. Implicit animations11 min
  5. Hero animations and page transitions10 min
  6. Empty, error and offline states10 min
09Testing basics6 lessons, 68 mins

Write unit, widget and integration tests so changes do not quietly break your app.

  1. Why test, and what is worth testing9 min
  2. Unit tests for Dart logic12 min
  3. Widget tests14 min
  4. Mocking API calls12 min
  5. Integration tests on a device12 min
  6. Reading test output and fixing failures9 min
10Capstone: a multi-screen app6 lessons, 75 mins

Plan, build and test a complete multi-screen app that uses live data and local storage.

  1. Capstone brief: an events app with live data and favourites9 min
  2. Setting up the architecture and models14 min
  3. Building the screens and navigation16 min
  4. Connecting the API and saving favourites locally16 min
  5. Tests, tidy-up and a release build13 min
  6. Final exam and what comes next in Part 37 min

Lesson lengths are estimates and may change slightly when the course is recorded. Every lesson is re-recorded or annotated when the tools change, free for everyone with an active course.

Everything included

  • 10 modules, 60 video lessons, about 11.5 hours
  • 2 hours of 1:1 live tutoring with George (use within 12 months)
  • Starter projects, finished code for every module and a sample REST API to practise against
  • Capstone project with personal written feedback
  • Final exam and certificate of completion
  • 12 months' access, including updates

Before you start

Flutter Part 1: Foundations, or equivalent experience: you can write basic Dart, build layouts with widgets and run an app on an emulator or phone.

Your tutor: George

George is a web developer and mobile app developer with over 10 years of experience. He leads the Flutter courses, answers your questions under every lesson, reviews your app and gives your included one-to-one tutoring.

More about George

Be first in when it opens

This course is being recorded now. Waitlist members hear first and get an early-bird price.

Flutter Part 2: Real Apps

£529£1,058launch sale price

Leave your email and you will hear first when it opens, with an early-bird price for the waitlist.

Apps path bundle

£1,549£1,966 separately

Flutter Part 1: Foundations, Flutter Part 2: Real Apps, Flutter Part 3: Data and Payments, Flutter Part 4: Publish to the Stores, together. Save £417 on buying them one at a time.

See the bundle

Guarantee

30days money back

If the course is not right for you, ask for a refund within 30 days of purchase and we will refund you in full, less the value of any 1:1 tutoring time you have already used.

Refund policy

Questions about this course

Anything else? Send me a message or book a 30-minute taster lesson.

Which state management approach do you teach?

We teach Provider with ChangeNotifier, structured with view models and repositories, because it is simple, widely used and close to the approach in Flutter's own documentation. We also explain Riverpod and Bloc so you can pick them up later or recognise them in other projects.

Do I need my own API or server?

No. You will work with a sample REST API we provide and public test APIs. Part 3 covers building your own backend with Firebase.

How does the 1:1 tutoring work?

You get 2 hours of live 1:1 time with George, a web and mobile app developer with over 10 years' experience. Book it in one block or in shorter sessions at any point during your 12 months, and use it for anything from setup problems to a review of your own app.

Do I need a Mac?

No. Everything in Part 2 can be done on Windows, macOS or Linux with an Android emulator or phone. Where iOS behaves differently, such as camera permissions, we show you what changes.

How long will it take?

There are about 11 hours of video, plus exercise and capstone time. Most students work through it over several weeks, and you have 12 months' access.

What if the course is not for me?

You have a 30-day money-back guarantee. We refund you in full, less the value of any 1:1 tutoring time you have already used.

Get on the list. Start first.

This course is being recorded now. Join the waitlist and you will be first to hear when it opens, at the £529 sale price (usually £1,058).