# Flutter-Course-Resources ## Section 1: Introduction to Cross-Platform Development with Flutter and Dart * [Download the Course Syllabus](https://drive.google.com/uc?export=download&id=1itL9AXx7Z-RxFAjSLLhsTeTFZYrkfweR) * [Cornell Note Taking System - App Brewery Template](https://drive.google.com/uc?export=download&id=1RfRLujREfLx1PSpw9bubNDsvRuknJ5ek) ## Section 2: Setting Up for Flutter Development * [Getting Started: Installing Flutter](https://flutter.dev/docs/get-started/install) * [Git for Windows](https://git-scm.com/download/win) * [Git for Mac](https://desktop.github.com) * [Install Android Studio](https://developer.android.com/studio/) * [iOS Setup Instructions](https://flutter.dev/docs/get-started/install/macos#ios-setup) ## Section 3: I Am Rich - How to Create Flutter Apps from Scratch * [Material Design](https://material.io/) * [Scaffold Documentation](https://docs.flutter.io/flutter/material/Scaffold-class.html) * [AppBar Documentation](https://docs.flutter.io/flutter/material/AppBar-class.html) * [Material Design Colour System](https://material.io/design/color/the-color-system.html) * [Image Widget Documentation](https://docs.flutter.io/flutter/widgets/Image-class.html) * [Make Flowcharts with Draw.io](https://www.draw.io/) * [Learn More About the Pubspec File](https://www.dartlang.org/tools/pub/pubspec) * [Adding Assets](https://flutter.dev/docs/development/ui/assets-and-images) * [Generating App Icons with AppIcon.co](https://appicon.co/) ## Section 4: Running Your App on a Physical Device * [Flutter Documentation on Deploying to Physical iOS Devices](https://flutter.dev/docs/get-started/install/macos#deploy-to-ios-devices) * [Homebrew for MacOS](https://brew.sh/) * [Troubleshooting: Physical iOS Device Testing](https://blog.londonappbrewery.com/troubleshooting-ios-device-testing-for-flutter-38c5da239e62) * [Troubleshooting: Physical Android Device Testing](https://blog.londonappbrewery.com/troubleshooting-android-device-testing-on-windows-a2b5d779df08) ## Section 5: I Am Poor - App Challenge * [Icons8](https://icons8.com/) * [Vecteezy](https://www.vecteezy.com/) * [Canva](https://www.canva.com/) ## Section 6: MiCard - How to Build Beautiful UIs with Flutter Widgets * [MiCard Stub Project](https://github.com/londonappbrewery/mi_card_flutter) * [Widgets Catalogue](https://flutter.dev/docs/development/ui/widgets) * [Container Documentation](https://docs.flutter.io/flutter/widgets/Container-class.html) * [Column Documentation](https://docs.flutter.io/flutter/widgets/Column-class.html) * [Row Documentation](https://docs.flutter.io/flutter/widgets/Row-class.html) * [Tomek's Flutter Layout Cheat Sheet](https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e) * [Download fancy fonts from fonts.google.com](https://fonts.google.com/) * [How to add fonts to the pubspec.yaml file](https://flutter.dev/docs/cookbook/design/package-fonts) * [The Icons Class](https://docs.flutter.io/flutter/material/Icons-class.html) * [Material Design Icons](https://material.io/tools/icons/?style=baseline) * [Icons on materialpalette.com](https://www.materialpalette.com/icons) * [Card Class Documentation](https://docs.flutter.io/flutter/material/Card-class.html) * [The Padding Class](https://docs.flutter.io/flutter/widgets/Padding-class.html) * [The ListTile Class](https://docs.flutter.io/flutter/material/ListTile-class.html) * [Flutter's Horizontal Rule - The Divider](https://docs.flutter.io/flutter/material/Divider-class.html) * [MiCard Completed Project](https://github.com/londonappbrewery/MiCard-Completed) ## Section 7: Dicee - Building Apps with State * [Dicee Stub Project](https://github.com/londonappbrewery/dicee-flutter) * [Expanded Class](https://docs.flutter.io/flutter/widgets/Expanded-class.html) * [Image Widget Documentation](https://docs.flutter.io/flutter/widgets/Image-class.html) * [FlatButton Documentation](https://docs.flutter.io/flutter/material/FlatButton-class.html) * [Run code snippets on DartPad](https://dartpad.dartlang.org/) * [Dart Math Library](https://api.dartlang.org/stable/2.2.0/dart-math/dart-math-library.html) * [Random Class](https://api.dartlang.org/stable/2.2.0/dart-math/Random-class.html) * [Dicee Completed Project](https://github.com/londonappbrewery/Dicee-Flutter-Completed) ## Section 8: Boss Level Challenge 1 - Magic 8 Ball * [Magic 8 Ball Stub](https://github.com/londonappbrewery/magic-8-ball-flutter) ## Section 9: Xylophone - Using Flutter and Dart Packages to Speed Up Development * [XyloPhone Stub Project](https://github.com/londonappbrewery/xylophone-flutter) * [Flutter Packages](https://pub.dartlang.org/flutter) * [Guide to Using Flutter Packages](https://flutter.dev/docs/development/packages-and-plugins/using-packages) * [Luan Nico's Audioplayers Package](https://pub.dartlang.org/packages/audioplayers) * [AudioCache Documentation](https://github.com/bluefireteam/audioplayers/blob/master/packages/audioplayers/doc/audio_cache.md) * [DartPad Functions Exercise](https://dartpad.dartlang.org/4bf7549c820d1adb4be8673e92820e43) * [Xylophone Completed Project](https://github.com/londonappbrewery/Xylophone-Flutter-Completed) ## Section 10: Quizzler - Modularising & Organising Flutter Code * [Quizzler Stub Project](https://github.com/londonappbrewery/quizzler-flutter) * [List Gist for DartPad List Practice](https://gist.github.com/angelabauer/f9db1b64cf51623d42b1ac1722bd016c) * [Dart List Language Tour](https://www.dartlang.org/guides/libraries/library-tour#collections) * [RFlutter Alert Package](https://pub.dartlang.org/packages/rflutter_alert) * [Dart Constructors](https://www.dartlang.org/guides/language/language-tour#constructors) * [Quizzler Starting File for Challenge](https://github.com/londonappbrewery/quizzler-flutter-challenge-starting) * [Quizzler Solution & Completed Project](https://github.com/londonappbrewery/quizzler-flutter-challenge-final) ## Section 11: Boss Level Challenge 2 - Destini * [Destini Stub](https://github.com/londonappbrewery/destini-challenge-starting) * [Destini Solution & Completed Project](https://github.com/londonappbrewery/destini-challenge-completed/) ## Section 12: BMI Calculator - Building Flutter UIs for Intermediates * [BMI Stub Project](https://github.com/londonappbrewery/bmi-calculator-flutter) * [Dribbble: Find Designers and Design inspiration](https://dribbble.com/) * [Ruben Vaalt's beautiful BMI Calculator Design](https://dribbble.com/shots/4585382-Simple-BMI-Calculator) * [Using Themes](https://flutter.dev/docs/cookbook/design/themes) * [The Flutter Cookbook](https://flutter.dev/docs/cookbook) * [ThemeData Class](https://api.flutter.dev//flutter/material/ThemeData-class.html) * [Find Color HEX codes easily with the Colorzilla plugin](http://www.colorzilla.com/) * [The Color Class](https://docs.flutter.io/flutter/dart-ui/Color-class.html) * [How do HEX codes for with colours?](https://stackoverflow.com/questions/22239803/how-does-hexadecimal-color-work) * [The Key Class](https://docs.flutter.io/flutter/foundation/Key-class.html) * [When to Use Keys - Flutter Widgets 101 Ep. 4](https://www.youtube.com/watch?v=kn0EOS-ZiIc) * [Dart Language Tour: Final and Const](https://www.dartlang.org/guides/language/language-tour#final-and-const) * [Font Awesome Flutter Package](https://pub.dartlang.org/packages/font_awesome_flutter) * [The GestureDetector Class](https://docs.flutter.io/flutter/widgets/GestureDetector-class.html) * [Slider Class](https://docs.flutter.io/flutter/material/Slider-class.html) * [FloatingActionButton Class](https://docs.flutter.io/flutter/material/FloatingActionButton-class.html) * [ShapeBorder Class](https://docs.flutter.io/flutter/painting/ShapeBorder-class.html) * [RawMaterialButton Class](https://docs.flutter.io/flutter/material/RawMaterialButton-class.html) * [Navigating between Screens on Flutter](https://flutter.dev/docs/cookbook/navigation/navigation-basics) * [LAB Navigation Demo](https://github.com/londonappbrewery/Navigation-Flutter-Demo) * [Navigate with Named Routes](https://flutter.dev/docs/cookbook/navigation/named-routes) * [Definition of the Body Mass Index (BMI)](https://en.wikipedia.org/wiki/Body_mass_index) * [BMI Completed Project](https://github.com/londonappbrewery/BMI-Calculator-Completed) ## Section 13: Clima - Powering Your Flutter App with Live Weather Web Data * [Clima Stub Project](https://github.com/londonappbrewery/Clima-Flutter) * [Get the Location using the Geolocator Package](https://pub.dartlang.org/packages/geolocator) * [Android X Compatilibity](https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility) * [Starter Code Snippet for Async Await Demo](https://gist.github.com/angelabauer/c19c42b7795a185d2113f3b47263d2c0) * [Illustrating Lifecycles with the LAB Navigation Demo](https://github.com/londonappbrewery/Navigation-Flutter-Demo) * [Location Refactoring Challenge Instructions](https://github.com/londonappbrewery/Clima-Flutter-Location-Refactor-Challenge) * [OpenWeatherMap APIs](https://openweathermap.org/api) * [Fetching Data from the Internet](https://flutter.dev/docs/cookbook/networking/fetch-data) * [The Dart http package](https://pub.dartlang.org/packages/http) * [OpenWeatherMap Current Weather Documentation](https://openweathermap.org/current) * [HTTP Package API Reference](https://pub.dartlang.org/documentation/http/latest/) * [HTTP Response Class Documentation](https://pub.dartlang.org/documentation/http/latest/http/Response-class.html) * [List of HTTP Status Codes](https://www.restapitutorial.com/httpstatuscodes.html) * [Chrome Plugin for Formatting and Viewing JSON](https://chrome.google.com/webstore/detail/json-viewer-awesome/iemadiahhbebdklepanmkjenfdebfpfe?hl=en) * [JSON Mate: Formatting and Viewing JSON without a plugin](http://jsonmate.com/) * [Loading Indicators from the Flutter Spinkit](https://pub.dartlang.org/packages/flutter_spinkit) * [The State Class](https://docs.flutter.io/flutter/widgets/State-class.html) * [OpenWeatherMap Weather Conditions](https://openweathermap.org/weather-conditions) * [Create and Style a TextField](https://flutter.dev/docs/cookbook/forms/text-input) * [The TextField Class](https://docs.flutter.io/flutter/material/TextField-class.html) * [Clima Completed Project](https://github.com/londonappbrewery/Clima-Flutter-Completed) ## Section 14: Boss Level Challenge 3 - Bitcoin Ticker (a.k.a. Am I Rich?) * [Bitcoin Ticker Stub Project](https://github.com/londonappbrewery/bitcoin-ticker-flutter) * [Flutter DropdownButton](https://docs.flutter.io/flutter/material/DropdownButton-class.html) * [Dropdown Menu Design](https://material.io/design/components/menus.html#dropdown-menu) * [99 Bottles of Beer Programming Language Collection](http://www.99-bottles-of-beer.net/) * [DartPad For in Loop Mini Challenge](https://dartpad.dartlang.org/88fd2dd04c921892515bcd0567ef1636) * [Cupertino (iOS) Style Widgets](https://flutter.dev/docs/development/ui/widgets/cupertino) * [CupertinoPicker Class Documentation](https://docs.flutter.io/flutter/cupertino/CupertinoPicker-class.html) * [Register for a coinapi.io API key](https://www.coinapi.io/Pricing) * [Coin API Docs](https://docs.coinapi.io/) * [Bronze Challenge Start Code](https://github.com/londonappbrewery/bitcoin-flutter-challenge-start) * [Silver Challenge Starter Code](https://github.com/londonappbrewery/bitcoin-flutter-silver-start) * [Gold Challenge Starter Code](https://github.com/londonappbrewery/bitcoin-flutter-gold-start) * [Bitcoin Completed Project](https://github.com/londonappbrewery/bitcoin-flutter-final) ## Section 15: Flash Chat - Flutter x Firebase Cloud Firestore * [Flash Chat Stub Project](https://github.com/londonappbrewery/flash-chat-flutter) * [Dart Language Keywords](https://www.dartlang.org/guides/language/language-tour#keywords) * [Hero Animations](https://flutter.dev/docs/development/ui/animations/hero-animations) * [Curves Class Documentation](https://docs.flutter.io/flutter/animation/Curves-class.html) * [CurvedAnimation Class Documentation](https://docs.flutter.io/flutter/animation/CurvedAnimation-class.html) * [Tween Animation Class](https://docs.flutter.io/flutter/animation/Tween-class.html) * [Dart Language Tour: Mixins](https://www.dartlang.org/guides/language/language-tour#adding-features-to-a-class-mixins) * [Pre-packaged Animations: Flutter Sequence Animation](https://pub.dartlang.org/packages/flutter_sequence_animation) * [Pre-packaged Animations: Rubber](https://pub.dartlang.org/packages/rubber) * [Pre-packaged Animations: Sprung](https://pub.dartlang.org/packages/sprung) * [Pre-packaged Animations: Animated Text Kit](https://pub.dartlang.org/packages/animated_text_kit) * [Refactoring Challenge Instructions](https://github.com/londonappbrewery/Flash-Chat-Flutter-Refactor-Challenge) * [Create your Firebase Account Here](https://firebase.google.com/) * [Firebase Core Package for Flutter](https://pub.dartlang.org/packages/firebase_core) * [Firebase Auth Package for Flutter](https://pub.dartlang.org/packages/firebase_auth) * [Cloud Firestore Package for Flutter](https://pub.dartlang.org/packages/cloud_firestore) * [Troubleshooting: Firebase & Flutter: Common Errors](https://blog.londonappbrewery.com/troubleshooting-firebase-x-flutter-a974b2645689) * [Showing a Spinner: The Modal Progress HUD](https://pub.dartlang.org/packages/modal_progress_hud) * [Firebase Documentation](https://firebase.google.com/docs/) * [Kitsune-kun visualising Dart Streams and Nagashi Sōmen](https://vimeo.com/47912950) * [StreamBuilder Class Documentation](https://docs.flutter.io/flutter/widgets/StreamBuilder-class.html) * [AsyncSnapshot Class Documentation](https://docs.flutter.io/flutter/widgets/AsyncSnapshot-class.html) * [ListView Class Documentation](https://docs.flutter.io/flutter/widgets/ListView-class.html) * [Guide to the Firestore Security Rules](https://firebase.google.com/docs/firestore/security/get-started) * [Flash Chat Completed Project](https://github.com/londonappbrewery/Flash-Chat-Flutter-Complete) ## Section 16: Flutter State Management * [State Management Example](https://github.com/londonappbrewery/state_management-flutter.git) * [Todoey Design Guide](https://drive.google.com/uc?export=download&id=1Kz6y_DZA6slg-56kktB4Svkk1XNY8ACX) * [Flutter BottomSheet Class](https://api.flutter.dev/flutter/material/BottomSheet-class.html) * [showModalBottomSheet() function](https://api.flutter.dev/flutter/material/showModalBottomSheet.html) * [WidgetBuilder function](https://api.flutter.dev/flutter/widgets/WidgetBuilder.html) * [The ListView Class](https://api.flutter.dev/flutter/widgets/ListView-class.html) * [Flutter State Management at Google I/O 2019](https://youtu.be/d_m5csmrf7I) * [The Provider Package](https://pub.dev/packages/provider) * [The InheritedWidget Class](https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html) * [Todoey Completed Project](https://github.com/londonappbrewery/todoey-flutter)