└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Flutter-Course-Resources 2 | 3 | ## Section 1: Introduction to Cross-Platform Development with Flutter and Dart 4 | 5 | * [Download the Course Syllabus](https://drive.google.com/uc?export=download&id=1itL9AXx7Z-RxFAjSLLhsTeTFZYrkfweR) 6 | * [Cornell Note Taking System - App Brewery Template](https://drive.google.com/uc?export=download&id=1RfRLujREfLx1PSpw9bubNDsvRuknJ5ek) 7 | 8 | 9 | ## Section 2: Setting Up for Flutter Development 10 | 11 | * [Getting Started: Installing Flutter](https://flutter.dev/docs/get-started/install) 12 | * [Git for Windows](https://git-scm.com/download/win) 13 | * [Git for Mac](https://desktop.github.com) 14 | * [Install Android Studio](https://developer.android.com/studio/) 15 | * [iOS Setup Instructions](https://flutter.dev/docs/get-started/install/macos#ios-setup) 16 | 17 | 18 | ## Section 3: I Am Rich - How to Create Flutter Apps from Scratch 19 | 20 | * [Material Design](https://material.io/) 21 | * [Scaffold Documentation](https://docs.flutter.io/flutter/material/Scaffold-class.html) 22 | * [AppBar Documentation](https://docs.flutter.io/flutter/material/AppBar-class.html) 23 | * [Material Design Colour System](https://material.io/design/color/the-color-system.html) 24 | * [Image Widget Documentation](https://docs.flutter.io/flutter/widgets/Image-class.html) 25 | * [Make Flowcharts with Draw.io](https://www.draw.io/) 26 | * [Learn More About the Pubspec File](https://www.dartlang.org/tools/pub/pubspec) 27 | * [Adding Assets](https://flutter.dev/docs/development/ui/assets-and-images) 28 | * [Generating App Icons with AppIcon.co](https://appicon.co/) 29 | 30 | ## Section 4: Running Your App on a Physical Device 31 | 32 | * [Flutter Documentation on Deploying to Physical iOS Devices](https://flutter.dev/docs/get-started/install/macos#deploy-to-ios-devices) 33 | * [Homebrew for MacOS](https://brew.sh/) 34 | * [Troubleshooting: Physical iOS Device Testing](https://blog.londonappbrewery.com/troubleshooting-ios-device-testing-for-flutter-38c5da239e62) 35 | * [Troubleshooting: Physical Android Device Testing](https://blog.londonappbrewery.com/troubleshooting-android-device-testing-on-windows-a2b5d779df08) 36 | 37 | ## Section 5: I Am Poor - App Challenge 38 | 39 | * [Icons8](https://icons8.com/) 40 | * [Vecteezy](https://www.vecteezy.com/) 41 | * [Canva](https://www.canva.com/) 42 | 43 | ## Section 6: MiCard - How to Build Beautiful UIs with Flutter Widgets 44 | 45 | * [MiCard Stub Project](https://github.com/londonappbrewery/mi_card_flutter) 46 | * [Widgets Catalogue](https://flutter.dev/docs/development/ui/widgets) 47 | * [Container Documentation](https://docs.flutter.io/flutter/widgets/Container-class.html) 48 | * [Column Documentation](https://docs.flutter.io/flutter/widgets/Column-class.html) 49 | * [Row Documentation](https://docs.flutter.io/flutter/widgets/Row-class.html) 50 | * [Tomek's Flutter Layout Cheat Sheet](https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e) 51 | * [Download fancy fonts from fonts.google.com](https://fonts.google.com/) 52 | * [How to add fonts to the pubspec.yaml file](https://flutter.dev/docs/cookbook/design/package-fonts) 53 | * [The Icons Class](https://docs.flutter.io/flutter/material/Icons-class.html) 54 | * [Material Design Icons](https://material.io/tools/icons/?style=baseline) 55 | * [Icons on materialpalette.com](https://www.materialpalette.com/icons) 56 | * [Card Class Documentation](https://docs.flutter.io/flutter/material/Card-class.html) 57 | * [The Padding Class](https://docs.flutter.io/flutter/widgets/Padding-class.html) 58 | * [The ListTile Class](https://docs.flutter.io/flutter/material/ListTile-class.html) 59 | * [Flutter's Horizontal Rule - The Divider](https://docs.flutter.io/flutter/material/Divider-class.html) 60 | * [MiCard Completed Project](https://github.com/londonappbrewery/MiCard-Completed) 61 | 62 | ## Section 7: Dicee - Building Apps with State 63 | 64 | * [Dicee Stub Project](https://github.com/londonappbrewery/dicee-flutter) 65 | * [Expanded Class](https://docs.flutter.io/flutter/widgets/Expanded-class.html) 66 | * [Image Widget Documentation](https://docs.flutter.io/flutter/widgets/Image-class.html) 67 | * [FlatButton Documentation](https://docs.flutter.io/flutter/material/FlatButton-class.html) 68 | * [Run code snippets on DartPad](https://dartpad.dartlang.org/) 69 | * [Dart Math Library](https://api.dartlang.org/stable/2.2.0/dart-math/dart-math-library.html) 70 | * [Random Class](https://api.dartlang.org/stable/2.2.0/dart-math/Random-class.html) 71 | * [Dicee Completed Project](https://github.com/londonappbrewery/Dicee-Flutter-Completed) 72 | 73 | ## Section 8: Boss Level Challenge 1 - Magic 8 Ball 74 | 75 | * [Magic 8 Ball Stub](https://github.com/londonappbrewery/magic-8-ball-flutter) 76 | 77 | ## Section 9: Xylophone - Using Flutter and Dart Packages to Speed Up Development 78 | 79 | * [XyloPhone Stub Project](https://github.com/londonappbrewery/xylophone-flutter) 80 | * [Flutter Packages](https://pub.dartlang.org/flutter) 81 | * [Guide to Using Flutter Packages](https://flutter.dev/docs/development/packages-and-plugins/using-packages) 82 | * [Luan Nico's Audioplayers Package](https://pub.dartlang.org/packages/audioplayers) 83 | * [AudioCache Documentation](https://github.com/bluefireteam/audioplayers/blob/master/packages/audioplayers/doc/audio_cache.md) 84 | * [DartPad Functions Exercise](https://dartpad.dartlang.org/4bf7549c820d1adb4be8673e92820e43) 85 | * [Xylophone Completed Project](https://github.com/londonappbrewery/Xylophone-Flutter-Completed) 86 | 87 | ## Section 10: Quizzler - Modularising & Organising Flutter Code 88 | 89 | * [Quizzler Stub Project](https://github.com/londonappbrewery/quizzler-flutter) 90 | * [List Gist for DartPad List Practice](https://gist.github.com/angelabauer/f9db1b64cf51623d42b1ac1722bd016c) 91 | * [Dart List Language Tour](https://www.dartlang.org/guides/libraries/library-tour#collections) 92 | * [RFlutter Alert Package](https://pub.dartlang.org/packages/rflutter_alert) 93 | * [Dart Constructors](https://www.dartlang.org/guides/language/language-tour#constructors) 94 | * [Quizzler Starting File for Challenge](https://github.com/londonappbrewery/quizzler-flutter-challenge-starting) 95 | * [Quizzler Solution & Completed Project](https://github.com/londonappbrewery/quizzler-flutter-challenge-final) 96 | 97 | ## Section 11: Boss Level Challenge 2 - Destini 98 | 99 | * [Destini Stub](https://github.com/londonappbrewery/destini-challenge-starting) 100 | * [Destini Solution & Completed Project](https://github.com/londonappbrewery/destini-challenge-completed/) 101 | 102 | ## Section 12: BMI Calculator - Building Flutter UIs for Intermediates 103 | 104 | * [BMI Stub Project](https://github.com/londonappbrewery/bmi-calculator-flutter) 105 | * [Dribbble: Find Designers and Design inspiration](https://dribbble.com/) 106 | * [Ruben Vaalt's beautiful BMI Calculator Design](https://dribbble.com/shots/4585382-Simple-BMI-Calculator) 107 | * [Using Themes](https://flutter.dev/docs/cookbook/design/themes) 108 | * [The Flutter Cookbook](https://flutter.dev/docs/cookbook) 109 | * [ThemeData Class](https://api.flutter.dev//flutter/material/ThemeData-class.html) 110 | * [Find Color HEX codes easily with the Colorzilla plugin](http://www.colorzilla.com/) 111 | * [The Color Class](https://docs.flutter.io/flutter/dart-ui/Color-class.html) 112 | * [How do HEX codes for with colours?](https://stackoverflow.com/questions/22239803/how-does-hexadecimal-color-work) 113 | * [The Key Class](https://docs.flutter.io/flutter/foundation/Key-class.html) 114 | * [When to Use Keys - Flutter Widgets 101 Ep. 4](https://www.youtube.com/watch?v=kn0EOS-ZiIc) 115 | * [Dart Language Tour: Final and Const](https://www.dartlang.org/guides/language/language-tour#final-and-const) 116 | * [Font Awesome Flutter Package](https://pub.dartlang.org/packages/font_awesome_flutter) 117 | * [The GestureDetector Class](https://docs.flutter.io/flutter/widgets/GestureDetector-class.html) 118 | * [Slider Class](https://docs.flutter.io/flutter/material/Slider-class.html) 119 | * [FloatingActionButton Class](https://docs.flutter.io/flutter/material/FloatingActionButton-class.html) 120 | * [ShapeBorder Class](https://docs.flutter.io/flutter/painting/ShapeBorder-class.html) 121 | * [RawMaterialButton Class](https://docs.flutter.io/flutter/material/RawMaterialButton-class.html) 122 | * [Navigating between Screens on Flutter](https://flutter.dev/docs/cookbook/navigation/navigation-basics) 123 | * [LAB Navigation Demo](https://github.com/londonappbrewery/Navigation-Flutter-Demo) 124 | * [Navigate with Named Routes](https://flutter.dev/docs/cookbook/navigation/named-routes) 125 | * [Definition of the Body Mass Index (BMI)](https://en.wikipedia.org/wiki/Body_mass_index) 126 | * [BMI Completed Project](https://github.com/londonappbrewery/BMI-Calculator-Completed) 127 | 128 | ## Section 13: Clima - Powering Your Flutter App with Live Weather Web Data 129 | 130 | * [Clima Stub Project](https://github.com/londonappbrewery/Clima-Flutter) 131 | * [Get the Location using the Geolocator Package](https://pub.dartlang.org/packages/geolocator) 132 | * [Android X Compatilibity](https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility) 133 | * [Starter Code Snippet for Async Await Demo](https://gist.github.com/angelabauer/c19c42b7795a185d2113f3b47263d2c0) 134 | * [Illustrating Lifecycles with the LAB Navigation Demo](https://github.com/londonappbrewery/Navigation-Flutter-Demo) 135 | * [Location Refactoring Challenge Instructions](https://github.com/londonappbrewery/Clima-Flutter-Location-Refactor-Challenge) 136 | * [OpenWeatherMap APIs](https://openweathermap.org/api) 137 | * [Fetching Data from the Internet](https://flutter.dev/docs/cookbook/networking/fetch-data) 138 | * [The Dart http package](https://pub.dartlang.org/packages/http) 139 | * [OpenWeatherMap Current Weather Documentation](https://openweathermap.org/current) 140 | * [HTTP Package API Reference](https://pub.dartlang.org/documentation/http/latest/) 141 | * [HTTP Response Class Documentation](https://pub.dartlang.org/documentation/http/latest/http/Response-class.html) 142 | * [List of HTTP Status Codes](https://www.restapitutorial.com/httpstatuscodes.html) 143 | * [Chrome Plugin for Formatting and Viewing JSON](https://chrome.google.com/webstore/detail/json-viewer-awesome/iemadiahhbebdklepanmkjenfdebfpfe?hl=en) 144 | * [JSON Mate: Formatting and Viewing JSON without a plugin](http://jsonmate.com/) 145 | * [Loading Indicators from the Flutter Spinkit](https://pub.dartlang.org/packages/flutter_spinkit) 146 | * [The State Class](https://docs.flutter.io/flutter/widgets/State-class.html) 147 | * [OpenWeatherMap Weather Conditions](https://openweathermap.org/weather-conditions) 148 | * [Create and Style a TextField](https://flutter.dev/docs/cookbook/forms/text-input) 149 | * [The TextField Class](https://docs.flutter.io/flutter/material/TextField-class.html) 150 | * [Clima Completed Project](https://github.com/londonappbrewery/Clima-Flutter-Completed) 151 | 152 | ## Section 14: Boss Level Challenge 3 - Bitcoin Ticker (a.k.a. Am I Rich?) 153 | 154 | * [Bitcoin Ticker Stub Project](https://github.com/londonappbrewery/bitcoin-ticker-flutter) 155 | * [Flutter DropdownButton](https://docs.flutter.io/flutter/material/DropdownButton-class.html) 156 | * [Dropdown Menu Design](https://material.io/design/components/menus.html#dropdown-menu) 157 | * [99 Bottles of Beer Programming Language Collection](http://www.99-bottles-of-beer.net/) 158 | * [DartPad For in Loop Mini Challenge](https://dartpad.dartlang.org/88fd2dd04c921892515bcd0567ef1636) 159 | * [Cupertino (iOS) Style Widgets](https://flutter.dev/docs/development/ui/widgets/cupertino) 160 | * [CupertinoPicker Class Documentation](https://docs.flutter.io/flutter/cupertino/CupertinoPicker-class.html) 161 | * [Register for a coinapi.io API key](https://www.coinapi.io/Pricing) 162 | * [Coin API Docs](https://docs.coinapi.io/) 163 | * [Bronze Challenge Start Code](https://github.com/londonappbrewery/bitcoin-flutter-challenge-start) 164 | * [Silver Challenge Starter Code](https://github.com/londonappbrewery/bitcoin-flutter-silver-start) 165 | * [Gold Challenge Starter Code](https://github.com/londonappbrewery/bitcoin-flutter-gold-start) 166 | * [Bitcoin Completed Project](https://github.com/londonappbrewery/bitcoin-flutter-final) 167 | 168 | ## Section 15: Flash Chat - Flutter x Firebase Cloud Firestore 169 | 170 | * [Flash Chat Stub Project](https://github.com/londonappbrewery/flash-chat-flutter) 171 | * [Dart Language Keywords](https://www.dartlang.org/guides/language/language-tour#keywords) 172 | * [Hero Animations](https://flutter.dev/docs/development/ui/animations/hero-animations) 173 | * [Curves Class Documentation](https://docs.flutter.io/flutter/animation/Curves-class.html) 174 | * [CurvedAnimation Class Documentation](https://docs.flutter.io/flutter/animation/CurvedAnimation-class.html) 175 | * [Tween Animation Class](https://docs.flutter.io/flutter/animation/Tween-class.html) 176 | * [Dart Language Tour: Mixins](https://www.dartlang.org/guides/language/language-tour#adding-features-to-a-class-mixins) 177 | * [Pre-packaged Animations: Flutter Sequence Animation](https://pub.dartlang.org/packages/flutter_sequence_animation) 178 | * [Pre-packaged Animations: Rubber](https://pub.dartlang.org/packages/rubber) 179 | * [Pre-packaged Animations: Sprung](https://pub.dartlang.org/packages/sprung) 180 | * [Pre-packaged Animations: Animated Text Kit](https://pub.dartlang.org/packages/animated_text_kit) 181 | * [Refactoring Challenge Instructions](https://github.com/londonappbrewery/Flash-Chat-Flutter-Refactor-Challenge) 182 | * [Create your Firebase Account Here](https://firebase.google.com/) 183 | * [Firebase Core Package for Flutter](https://pub.dartlang.org/packages/firebase_core) 184 | * [Firebase Auth Package for Flutter](https://pub.dartlang.org/packages/firebase_auth) 185 | * [Cloud Firestore Package for Flutter](https://pub.dartlang.org/packages/cloud_firestore) 186 | * [Troubleshooting: Firebase & Flutter: Common Errors](https://blog.londonappbrewery.com/troubleshooting-firebase-x-flutter-a974b2645689) 187 | * [Showing a Spinner: The Modal Progress HUD](https://pub.dartlang.org/packages/modal_progress_hud) 188 | * [Firebase Documentation](https://firebase.google.com/docs/) 189 | * [Kitsune-kun visualising Dart Streams and Nagashi Sōmen](https://vimeo.com/47912950) 190 | * [StreamBuilder Class Documentation](https://docs.flutter.io/flutter/widgets/StreamBuilder-class.html) 191 | * [AsyncSnapshot Class Documentation](https://docs.flutter.io/flutter/widgets/AsyncSnapshot-class.html) 192 | * [ListView Class Documentation](https://docs.flutter.io/flutter/widgets/ListView-class.html) 193 | * [Guide to the Firestore Security Rules](https://firebase.google.com/docs/firestore/security/get-started) 194 | * [Flash Chat Completed Project](https://github.com/londonappbrewery/Flash-Chat-Flutter-Complete) 195 | 196 | ## Section 16: Flutter State Management 197 | 198 | * [State Management Example](https://github.com/londonappbrewery/state_management-flutter.git) 199 | * [Todoey Design Guide](https://drive.google.com/uc?export=download&id=1Kz6y_DZA6slg-56kktB4Svkk1XNY8ACX) 200 | * [Flutter BottomSheet Class](https://api.flutter.dev/flutter/material/BottomSheet-class.html) 201 | * [showModalBottomSheet() function](https://api.flutter.dev/flutter/material/showModalBottomSheet.html) 202 | * [WidgetBuilder function](https://api.flutter.dev/flutter/widgets/WidgetBuilder.html) 203 | * [The ListView Class](https://api.flutter.dev/flutter/widgets/ListView-class.html) 204 | * [Flutter State Management at Google I/O 2019](https://youtu.be/d_m5csmrf7I) 205 | * [The Provider Package](https://pub.dev/packages/provider) 206 | * [The InheritedWidget Class](https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html) 207 | * [Todoey Completed Project](https://github.com/londonappbrewery/todoey-flutter) 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | --------------------------------------------------------------------------------