Flutter-Course-Resources/README.md

229 lines
15 KiB
Markdown

# 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)