This is a directory of all my open source Flutter apps and projects. I published these as part of my tutorials at CodeWithAndrea.com.
All the entries are categorized as beginner, intermediate, or advanced, based on their complexity and project size.
I plan to expand this collection further and add more example apps in the future.
Note: most projects include a link to the relevant tutorial from my website or YouTube channel.
- Simple BMI Calculator Flutter App
- Super Useful Flutter Layouts - Right in Your Pocket: This demos shows how to use the most common layouts in Flutter. Includes live Flutter web app.
- BottomAppBar Navigation with FAB: this demo features a custom
BottomAppBar
that shows multiple pages, along with a FAB with options. - Multiple Navigators with BottomNavigationBar: Bottom navigation with independent navigation stacks on each page.
- Apple Sign In with Firebase & Flutter: Reference code showing how to implement Apple Sign-In.
- Example Layouts with Slivers in Flutter: Demo app showing how to use
CustomScrollView
,SliverAppBar
,SliverPersistentHeader
,SliverList
&SliverFixedExtentList
,SliverGrid
,SliverToBoxAdapter
,SliverFillRemaining
. - Fitness Tracker - Flutter UI Demo: Simple replica of the Strava UI in Flutter.
- Flutter: Input Validation with RegExp: Email & decimal number
TextField
validation with RegExp. - Sample Stopwatch App + Performance tests: Performance-optimized implementation of the iOS stopwatch app.
- Advanced Provider Architecture Demo: Image Picker + Firebase Storage Upload: How to capture, upload and show an avatar image. Uses Firebase Authentication and Storage.
- Restaurant In-App Rating Demo App with Flutter & Firebase: Simple app with restaurant list & detail page + Cloud Functions to calculate average rating and number of ratings.
- Example GitHub Search app built in Flutter & RxDart: Search-as-you-type with RxDart and the GitHub API.
- RxDart by example: combineLatest and data modeling with Firestore: A simple movie favourites app showing how to use
combineLatest
to combine data from two Firestore collections into one stream. - Flight CO2 Calculator app. Slick app to calculate the CO2 emissions for flights between any pair of airports.
- Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc
- Starter Architecture Demo for Flutter & Firebase Realtime Apps: Reference architecture demo that can be used as a starting point for apps using Flutter & Firebase.
- nCoV 2019 Backend REST API and Admin Web Client: Backend and Flutter web dashboard for my Flutter REST API course.
- page_flip_builder: A custom Flutter widget that enables interactive page-flip transitions in your app.
- CodeWithAndrea Flutter Packages: A collection of packages created to increase code reuse across many of my Flutter projects. These are NOT published on pub.dev and are subject to change at any time.
This section contains the source code for my Dart, Flutter & Firebase courses on Udemy:
- Dart course exercises, solutions and projects (Dart course link)
- Time Tracker App source code (Flutter & Firebase course link)
- Coronavirus App source code (Flutter REST API Crash course link)
Note: this section contains projects that are outdated. I do NOT recommend using them as reference.
- State Management Comparison: Authentication Flow
- Reference Authentication Flow with Flutter & Firebase: Demo app showing the most common Firebase sign in methods. This project is outdated - see the starter architecute demo instead.
- Multiple Counters App with
setState
vsStreamBuilder
vsscoped_model
vsredux
- Flutter & Firebase Authentication demo: Code for my Flutter & Firebase auth series back in 2018.
- RoboHash Flutter Demo: How to load an avatar image with the RoboHash API.
- Photos and Camera Image Picker built in Flutter: I originally built this to learn Platform Channels, rather than using the image_picker plugin.
If there are specific apps or projects that you'd like to see implemented in Flutter, hit me up on Twitter or Slack. There's no guarantee that I'll do them, but it's good to keep the ideas flowing. 🙂