├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE.md ├── README.md └── media └── codewithandrea-banner.png /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: bizz84 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.lock 4 | *.log 5 | *.pyc 6 | *.swp 7 | .DS_Store 8 | .atom/ 9 | .buildlog/ 10 | .history 11 | .svn/ 12 | 13 | # IntelliJ related 14 | *.iml 15 | *.ipr 16 | *.iws 17 | .idea/ 18 | 19 | # Visual Studio Code related 20 | .vscode/ 21 | 22 | # Flutter repo-specific 23 | /bin/cache/ 24 | /bin/mingit/ 25 | /dev/benchmarks/mega_gallery/ 26 | /dev/bots/.recipe_deps 27 | /dev/bots/android_tools/ 28 | /dev/docs/doc/ 29 | /dev/docs/flutter.docs.zip 30 | /dev/docs/lib/ 31 | /dev/docs/pubspec.yaml 32 | /packages/flutter/coverage/ 33 | version 34 | 35 | # Flutter/Dart/Pub related 36 | **/doc/api/ 37 | .dart_tool/ 38 | .flutter-plugins 39 | .packages 40 | .pub-cache/ 41 | .pub/ 42 | build/ 43 | flutter_*.png 44 | linked_*.ds 45 | unlinked.ds 46 | unlinked_spec.ds 47 | .flutter-plugins-dependencies 48 | 49 | # Android related 50 | **/android/**/gradle-wrapper.jar 51 | **/android/.gradle 52 | **/android/captures/ 53 | **/android/gradlew 54 | **/android/gradlew.bat 55 | **/android/local.properties 56 | **/android/**/GeneratedPluginRegistrant.java 57 | **/android/key.properties 58 | *.jks 59 | 60 | # iOS/XCode related 61 | **/ios/**/*.mode1v3 62 | **/ios/**/*.mode2v3 63 | **/ios/**/*.moved-aside 64 | **/ios/**/*.pbxuser 65 | **/ios/**/*.perspectivev3 66 | **/ios/**/*sync/ 67 | **/ios/**/.sconsign.dblite 68 | **/ios/**/.tags* 69 | **/ios/**/.vagrant/ 70 | **/ios/**/DerivedData/ 71 | **/ios/**/Icon? 72 | **/ios/**/Pods/ 73 | **/ios/**/.symlinks/ 74 | **/ios/**/profile 75 | **/ios/**/xcuserdata 76 | **/ios/.generated/ 77 | **/ios/Flutter/App.framework 78 | **/ios/Flutter/Flutter.framework 79 | **/ios/Flutter/Generated.xcconfig 80 | **/ios/Flutter/app.flx 81 | **/ios/Flutter/app.zip 82 | **/ios/Flutter/flutter_assets/ 83 | **/ios/ServiceDefinitions.json 84 | **/ios/Runner/GeneratedPluginRegistrant.* 85 | **/ios/Flutter/flutter_export_environment.sh 86 | **/ios/Flutter/.last_build_id 87 | 88 | # web 89 | web/firebase-config.js 90 | 91 | # Exceptions to above rules. 92 | !**/ios/**/default.mode1v3 93 | !**/ios/**/default.mode2v3 94 | !**/ios/**/default.pbxuser 95 | !**/ios/**/default.perspectivev3 96 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 97 | 98 | # Firebase configuration files 99 | ios/Runner/GoogleService-Info.plist 100 | android/app/google-services.json -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Andrea Bizzotto [bizz84@gmail.com](mailto:bizz84@gmail.com) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Flutter Example Apps | Code With Andrea 2 | 3 | ![Code With Andrea Banner](media/codewithandrea-banner.png) 4 | 5 | [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://mit-license.org) 6 | [![Slack](https://img.shields.io/badge/Slack-Join-green.svg?style=flat)](https://nnbd.me/slack) 7 | [![Twitter](https://img.shields.io/badge/twitter-@biz84-blue.svg?style=flat)](http://twitter.com/biz84) 8 | 9 | This is a directory of all my open source Flutter apps and projects. I published these as part of my tutorials at [CodeWithAndrea.com](https://codewithandrea.com). 10 | 11 | All the entries are categorized as [beginner](#beginner), [intermediate](#intermediate), or [advanced](#advanced), based on their complexity and project size. 12 | 13 | **I plan to expand this collection further and add more example apps in the future.** 14 | 15 | _Note: most projects include a link to the relevant tutorial from [my website](https://codewithandrea.com) or [YouTube channel](https://nnbd.me/yt)._ 16 | 17 | ## Beginner 18 | 19 | - **[Simple BMI Calculator Flutter App](https://github.com/bizz84/bmi_calculator_app_flutter)** 20 | - **[Super Useful Flutter Layouts - Right in Your Pocket](https://github.com/bizz84/layout-demo-flutter)**: This demos shows how to use the most common layouts in Flutter. Includes live Flutter web app. 21 | 22 | ## Intermediate 23 | 24 | - **[BottomAppBar Navigation with FAB](https://github.com/bizz84/bottom_bar_fab_flutter)**: this demo features a custom `BottomAppBar` that shows multiple pages, along with a FAB with options. 25 | - **[Multiple Navigators with BottomNavigationBar](https://github.com/bizz84/nested-navigation-demo-flutter)**: Bottom navigation with independent navigation stacks on each page. 26 | - **[Apple Sign In with Firebase & Flutter](https://github.com/bizz84/apple_sign_in_firebase_flutter)**: Reference code showing how to implement Apple Sign-In. 27 | - **[Example Layouts with Slivers in Flutter](https://github.com/bizz84/slivers_demo_flutter)**: Demo app showing how to use `CustomScrollView`, `SliverAppBar`, `SliverPersistentHeader`, `SliverList` & `SliverFixedExtentList`, `SliverGrid`, `SliverToBoxAdapter`, `SliverFillRemaining`. 28 | - **[Fitness Tracker - Flutter UI Demo](https://github.com/bizz84/fitness_tracker_flutter)**: Simple replica of the Strava UI in Flutter. 29 | - **[Flutter: Input Validation with RegExp](https://github.com/bizz84/input_validation_demo_flutter)**: Email & decimal number `TextField` validation with RegExp. 30 | - **[Sample Stopwatch App + Performance tests](https://github.com/bizz84/stopwatch-flutter)**: Performance-optimized implementation of the iOS stopwatch app. 31 | - **[Advanced Provider Architecture Demo: Image Picker + Firebase Storage Upload](https://github.com/bizz84/firebase_user_avatar_flutter)**: How to capture, upload and show an avatar image. Uses Firebase Authentication and Storage. 32 | - **[Restaurant In-App Rating Demo App with Flutter & Firebase](https://github.com/bizz84/restaurant_ratings_flutter_firebase)**: Simple app with restaurant list & detail page + Cloud Functions to calculate average rating and number of ratings. 33 | - **[Example GitHub Search app built in Flutter & RxDart](https://github.com/bizz84/github_search_flutter_client_rxdart_example)**: Search-as-you-type with RxDart and the GitHub API. 34 | - **[RxDart by example: combineLatest and data modeling with Firestore](https://github.com/bizz84/rxdart_combine_latest_example_movie_app)**: A simple movie favourites app showing how to use `combineLatest` to combine data from two Firestore collections into one stream. 35 | - **[Flight CO2 Calculator app](https://github.com/bizz84/flight_co2_calculator_flutter)**. Slick app to calculate the CO2 emissions for flights between any pair of airports. 36 | - **[Game of Life](https://github.com/bizz84/game_of_life_flutter)**: simple Flutter demo showing a few different patterns from [Conway's Game of Life](https://en.wikipedia.org/wiki/Conway's_Game_of_Life). 37 | - **[Flutter Animations Gallery](https://github.com/bizz84/flutter_animations_gallery/)**. A showcase of the most common Flutter animation APIs. 38 | - **[Flutter Mood Tracking app](https://github.com/bizz84/mood_tracker_flutter)**. An example Flutter app showing how to work with Cloud Functions and the Firebase Local Emulator. 39 | - **[Code With Andrea - Flutter Clone](https://github.com/bizz84/code_with_andrea_flutter/)**. A clone of my home page at [codewithandrea.com](https://codewithandrea.com) 40 | 41 | ## Advanced 42 | 43 | - **[Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc](https://github.com/bizz84/movie_app_state_management_flutter)** 44 | - **[Starter Architecture Demo for Flutter & Firebase Realtime Apps](https://github.com/bizz84/starter_architecture_flutter_firebase)**: Reference architecture demo that can be used as a starting point for apps using Flutter & Firebase. 45 | - **[nCoV 2019 Backend REST API and Admin Web Client](https://github.com/bizz84/ncov2019-api-and-webclient)**: Backend and Flutter web dashboard for my [Flutter REST API course](https://nnbd.me/fr). 46 | 47 | ## Packages on pub.dev 48 | 49 | - **[page_flip_builder](https://pub.dev/packages/page_flip_builder)**: A custom Flutter widget that enables interactive page-flip transitions in your app. 50 | - **[pushable_button](https://pub.dev/packages/pushable_button)**: A 3D pushable button built in Flutter. Ideal for important CTAs in the app. 51 | 52 | ## Other 53 | 54 | - [CodeWithAndrea Flutter Packages](https://github.com/bizz84/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](https://pub.dev) and are subject to change at any time. 55 | 56 | ## Courses 57 | 58 | This section contains the source code for my Dart, Flutter & Firebase courses on Udemy: 59 | 60 | - **[Dart course exercises, solutions and projects](https://github.com/bizz84/dart-course-materials)** (Dart [course link](https://nnbd.me/dart)) 61 | - **[Time Tracker App source code](https://github.com/bizz84/time_tracker_flutter_course)** (Flutter & Firebase [course link](https://nnbd.me/ff)) 62 | - **[Coronavirus App source code](https://github.com/bizz84/coronavirus_rest_api_flutter_course)** (Flutter REST API Crash [course link](https://nnbd.me/fr)) 63 | - **[Flutter Animations Course projects](https://github.com/bizz84/flutter_animations_course_materials)** (Flutter Animations [course link](https://nnbd.me/fa)) 64 | 65 | ## Outdated 66 | 67 | Note: this section contains projects that are outdated. *I do NOT recommend using them as reference.* 68 | 69 | - **[State Management Comparison: Authentication Flow](https://github.com/bizz84/simple_auth_comparison_flutter)** 70 | - **[Reference Authentication Flow with Flutter & Firebase](https://github.com/bizz84/firebase_auth_demo_flutter)**: Demo app showing the most common Firebase sign in methods. _This project is outdated - see the [starter architecute demo](https://github.com/bizz84/starter_architecture_flutter_firebase) instead._ 71 | - **[Multiple Counters App with `setState` vs `StreamBuilder` vs `scoped_model` vs `redux`](https://github.com/bizz84/multiple-counters-flutter)** 72 | - **[Flutter & Firebase Authentication demo](https://github.com/bizz84/coding-with-flutter-login-demo)**: Code for my Flutter & Firebase auth series back in 2018. 73 | - **[RoboHash Flutter Demo](https://github.com/bizz84/coding-with-flutter-robohash-demo)**: How to load an avatar image with the [RoboHash API](https://robohash.org/). 74 | - **[Photos and Camera Image Picker built in Flutter](https://github.com/bizz84/image-picker-demo-flutter)**: I originally built this to learn Platform Channels, rather than using the [image_picker](https://pub.dev/packages/image_picker) plugin. 75 | 76 | ## Want more? 77 | 78 | If there are specific apps or projects that you'd like to see implemented in Flutter, hit me up on [Twitter](http://twitter.com/biz84) or [Slack](https://nnbd.me/slack). *There's no guarantee that I'll do them, but it's good to keep the ideas flowing.* 🙂 79 | 80 | ## [LICENSE: MIT](LICENSE.md) 81 | -------------------------------------------------------------------------------- /media/codewithandrea-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bizz84/flutter_example_apps/ed7ba3e47cd2192eb861f67dd759752df42be450/media/codewithandrea-banner.png --------------------------------------------------------------------------------