• Stars
    star
    235
  • Rank 165,422 (Top 4 %)
  • Language
    Dart
  • License
    MIT License
  • Created about 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

All projects from my Flutter Animations Course

Flutter Animations Course | Code With Andrea

This repo contains all the projects from my Flutter Animations Course.

Animations course banner

The main project for this course is a Flutter habit tracking app, a (simplified) clone of the Streaks App.

Projects structure

The entire course includes four projects:

  • Colors / Numbers Game with Implicit Animations: This is located here and covered in section 1
  • Flutter Intro Playground: This is located here and covered in section 1
  • Flutter Stopwatch App: This is located here and covered in section 2
  • Flutter Habit Tracking App: This is located here and covered in sections 3 to 10 (rest of the course)

Note: each commit in this project corresponds to a specific lesson in the course.

Course Syllabus

1. Introduction and Implicit Animations

  1. Course Outline and Resources
  2. [Article] Join "Code With Andrea" on Slack + Course Q/A
  3. [Article] Flutter Installation and IDE Setup
  4. Introduction to Animations
  5. Download the animations playground project
  6. Implicit animations with AnimatedContainer
  7. [Exercise] AnimatedOpacity
  8. Animation Curves
  9. Intro to TweenAnimationBuilder
  10. Animating HSV colors with TweenAnimationBuilder
  11. Wrap up on Implicit Animations

2. UI Challenge: Stopwatch app

  1. Module Introduction
  2. Starter project for the Stopwatch app
  3. Dark Mode and Custom System UI Overlay
  4. Creating a periodic Timer
  5. Ticker and TickerProvider
  6. Creating a separate StopwatchRenderer widget
  7. Sizing the Stopwatch UI with AspectRatio
  8. Matrix transforms
  9. Getting the circle radius from LayoutBuilder
  10. Implementing the animated clock-hand
  11. Completing the stopwatch UI (part 1)
  12. Completing the stopwatch UI (part 2)
  13. Adding the start/stop/reset functionality (part 1)
  14. Adding the start/stop/reset functionality (part 2)
  15. Performance and testing considerations when working with tickers!

3. Habit Tracker App Overview

  1. Habit Tracker App: Introduction
  2. Download the Starter Project
  3. Linting rules
  4. Code walkthrough: Project Assets
  5. Code walkthrough: Colors and Theming

4. Explicit Animations

  1. Module intro & starter project
  2. Task completion ring: Technical planning
  3. Introduction to CustomPainter
  4. Drawing a task completion ring with the canvas
  5. Introduction to explicit animations with AnimationController
  6. Animated task completion ring with AnimationController and AnimatedBuilder
  7. Controlling the animation with GestureDetector
  8. Adding a centered SVG icon to the animated task
  9. Task completion UI tweaks
  10. Task completion state and final tweaks
  11. Bugfix: Handling tap cancel gestures
  12. Adding a Task Name
  13. Arranging multiple tasks inside a GridView
  14. Finished project and Wrap Up

5. Local Data Persistence with Hive

  1. Module intro
  2. Technical planning: local vs remote storage
  3. Starter project overview
  4. Introduction to Hive
  5. Creating model classes with Hive
  6. Creating a type adapter with code generation
  7. Creating the HiveDataStore
  8. Creating the demo tasks inside main()
  9. Creating unique Task IDs with the uuid package
  10. Reading tasks with ValueListenableBuilder
  11. Wrap up

6. State Management with Riverpod

  1. Module Intro & Starter Project
  2. Introduction to Riverpod
  3. Creating and using a data store with Provider and Consumer
  4. Dependency overrides with ProviderScope
  5. TaskState data modelling
  6. Creating and using a TaskState Hive model class
  7. Adding an onCompleted callback to the AnimatedTask widget
  8. Creating a TaskWithNameLoader
  9. Wrap Up + Using the Widget Inspector

7. Page Flip Animation

  1. Module Intro: Page Flip Transition
  2. Starter project and walkthrough
  3. Designing the Page Flip widget API with WidgetBuilders
  4. Using a GlobalKey to modify the state of a child widget
  5. AnimationController setup
  6. AnimatedBuilder vs AnimatedWidget
  7. Rotation code with Transform and Matrix4
  8. Interactive page flip transition
  9. Widgets, elements and keys
  10. Extra Challenge: Card flip game

8. Advanced Theming

  1. Module Intro: Advanced Theming
  2. Starter project and walkthrough
  3. Showing the bottom panels
  4. Creating a SlidingPanelAnimator
  5. Using the SlidingPanelAnimator
  6. Animating the sliding panels
  7. Managing app theme state changes: an overview
  8. Implementing the AppThemeManager class with StateNotifier
  9. Creating and using the AppThemeManager providers
  10. Applying the AppThemeSettings
  11. Advanced animated theming with ImplicitlyAnimatedWidget

9. More Explicit Animations

  1. Module Intro
  2. Starter Project & Walkthrough
  3. Controlling animations on the TasksGrid widget
  4. Adding an AnimatedWidget subclass to scale widgets
  5. Staggered animations
  6. Adding an AddTaskItem widget
  7. Fade in/out animation with an Opacity widget
  8. Explicit animations with FadeTransition and ScaleTransition
  9. Overview: built-in transition vs implicitly animated widgets in Flutter
  10. Bugfix: disabling task completion in edit mode

10. Add and Edit Tasks

  1. Module Intro: Add and Edit Tasks
  2. Navigating to the Add Task and Edit Task pages
  3. Overview: AddTaskPage with slivers
  4. Overview: TaskDetailsPage and SelectIconPage
  5. Overview: Onboarding
  6. Conclusion and Next Steps

Additional Resources

Useful resources from the Flutter docs

More Flutter animation tutorials from Code With Andrea

My Flutter Animations Gallery on GitHub

My animation packages on pub.dev

  • page_flip_builder: a custom Flutter widget that enables interactive page-flip transitions in your app.
  • pushable_button: a 3D pushable button, ideal for games or important CTAs in the app.

Popular Flutter animations packages

  • Rive: a real-time interactive design and animation tool.
  • SpinKit: a collection of animated loading indicators that you can use in your apps.
  • Animations: pre-canned animations for commonly-desired effects.
  • Funvas: a growing collection of free examples showing how to create canvas-based animations based on time and math functions.
  • Simple Animations: a powerful package that makes it easier to implement custom animations for common use cases.
  • Staggered Animations: easily add staggered animations to your ListView, GridView, Column and Row children.
  • Spring: a collection of 12 widgets based on spring animation effects.

Other cool Flutter animations tutorials

Streaks app

The main project of this course is based on this app:

The complete set of designs for this app can be found here:


License: MIT

More Repositories

1

SwiftyStoreKit

Lightweight In App Purchases Swift framework for iOS 8.0+, tvOS 9.0+ and macOS 10.10+ β›Ί
Swift
6,461
star
2

flutter-tips-and-tricks

My Flutter Tips & Tricks on Twitter πŸ‘‡
Dart
1,783
star
3

starter_architecture_flutter_firebase

Time Tracking app with Flutter & Firebase
Dart
1,551
star
4

layout-demo-flutter

Super Useful Flutter Layouts - Right in Your Pocket. πŸ˜‰
Dart
1,333
star
5

complete-flutter-course

Flutter Foundations Course - eCommerce App
Dart
747
star
6

flutter_example_apps

A directory of all my open source Flutter apps and projects.
711
star
7

firebase_auth_demo_flutter

Reference Authentication Flow with Flutter & Firebase
Dart
667
star
8

nested-navigation-demo-flutter

Nested navigation with BottomNavigationBar
Dart
604
star
9

movie_app_state_management_flutter

Flutter State Management: Movie App with Provider, Riverpod, flutter_bloc
Dart
536
star
10

time_tracker_flutter_course

Source code for every lesson in the "Flutter & Firebase: Build a Complete App for iOS & Android" course on Udemy
Dart
405
star
11

dart-course-materials

Code, Exercises & Syllabus for my Complete Dart Course
Dart
325
star
12

bottom_bar_fab_flutter

BottomAppBar Navigation with FAB
Dart
281
star
13

open_weather_example_flutter

Flutter Weather App Example using the OpenWeatherMap API
Dart
277
star
14

MVCarouselCollectionView

UICollectionView-based image carousel written in Swift
Swift
205
star
15

fluttercon_23_resources

List of talks from FlutterCon 23
205
star
16

tmdb_movie_app_riverpod

Flutter Movies app with Riverpod (TMDB API)
Dart
193
star
17

Sustainable-Earth

A curated list of all things sustainable
Ruby
186
star
18

coding-with-flutter-login-demo

Source code for login demo in Coding with Flutter series
Dart
167
star
19

firebase_user_avatar_flutter

Advanced Provider Architecture Demo: Image Picker + Firebase Storage Upload
Dart
154
star
20

flutter_animations_gallery

A showcase of the most common Flutter animation APIs.
Dart
151
star
21

stopwatch-flutter

Simple stopwatch example app in Flutter
Dart
139
star
22

multiple-counters-flutter

Flutter State Management [ setState ❖ StreamBuilder ❖ scoped_model ❖ redux ]
Dart
132
star
23

coronavirus_rest_api_flutter_course

Coronavirus REST API Flutter Course
Dart
120
star
24

codewithandrea_flutter_packages

A collection of packages created to increase code reuse across many of my Flutter projects.
Dart
118
star
25

slivers_demo_flutter

Example Layouts with Slivers in Flutter
Dart
107
star
26

firebase-login-flutter

Sample login and registration app with Firebase built in Flutter.
Dart
104
star
27

MVSelectorScrollView

Simple scrollable horizontal control, alternative to UISegmentedControl
Objective-C
103
star
28

nested_navigation_examples

Bottom Navigation Bar with Nested Routes: GoRouter vs Beamer
95
star
29

simple_auth_flutter_riverpod

Simple authentication flow using Flutter & Riverpod
Dart
90
star
30

flutter-firebase-masterclass

Flutter & Firebase Masterclass
Dart
86
star
31

AcceptanceMark

Tool for generating Acceptance Tests in Xcode, inspired by Fitnesse
Swift
65
star
32

flight_co2_calculator_flutter

Flutter package and sample app to calculate Flight CO2 emissions
Dart
57
star
33

code_with_andrea_flutter

Code With Andrea Home Page - Flutter Clone
Dart
53
star
34

CrackingTheCodingInterview

Solutions to exercises from the book "Cracking the Coding Interview"
Swift
49
star
35

image-picker-demo-flutter

Photos and Camera Image Picker built in Flutter
Dart
48
star
36

localization_riverpod_flutter

Simplified localization app template
Dart
46
star
37

split_view_example_flutter

Flutter Split View and Drawer Navigation example
Dart
45
star
38

page_flip_builder

Interactive Page Flip Flutter widget
Dart
44
star
39

MVHorizontalPicker

Simple scrollable horizontal control, alternative to UISegmentedControl
Swift
43
star
40

github_search_flutter_client_rxdart_example

Example GitHub Search app built in Flutter & RxDart
Dart
42
star
41

apple_sign_in_firebase_flutter

Demo app showing how to implement Apple Sign In with Firebase & Flutter
Dart
37
star
42

simple_auth_comparison_flutter

Flutter State Management Comparison: [ setState ❖ BLoC ❖ ValueNotifier ❖ Provider ]
Dart
35
star
43

input_validation_demo_flutter

Flutter: Input Validation with RegExp
Dart
33
star
44

fitness_tracker_flutter

Fitness Tracker - Flutter UI Demo
Dart
33
star
45

platform_aware_widgets_flutter

Example project showing how to create platform-aware widget classes in Flutter.
Dart
32
star
46

json_placeholder_flutter_example

Riverpod data caching and CRUD example with the JsonPlaceholder API
Dart
30
star
47

MVBouncyView

UIView category to add bouncing animations to your UIViews
Objective-C
28
star
48

async_notifier_example_riverpod

AsyncNotifier example with Riverpod
C++
27
star
49

restaurant_ratings_flutter_firebase

Restaurant In-App Rating Demo App with Flutter & Firebase
Dart
27
star
50

pushable_button

A 3D pushable button built in Flutter. Ideal for important CTAs in the app.
Dart
27
star
51

passwordless_sign_in_firebase_flutter

Passwordless sign-in with Flutter and Firebase
Dart
24
star
52

ncov2019-api-and-webclient

nCoV 2019 Backend REST API and Admin Web Client
Dart
21
star
53

MVScrollViewAutoLayout

Example iOS project showing how Auto-Layout can calculate the contentSize of a UIScrollView for you based on the constraints of the scroll view’s subviews.
Objective-C
20
star
54

MVMediaSlider

Custom media slider inspired by the Overcast App
Swift
18
star
55

faker_app_flutter_firebase

Demo project for the first module of my Flutter & Firebase Masterclass
C++
16
star
56

rxdart_combine_latest_example_movie_app

Simple movie favourites app showcasing how to use combineLatest to combine data from two Firestore collections into one stream.
Dart
15
star
57

redux-navigation-color-picker

Code for "Managing State in a React-Navigation App with Redux" tutorial
JavaScript
15
star
58

bmi_calculator_app_flutter

Simple BMI Calculator Flutter App
Dart
14
star
59

game_of_life_flutter

Game Of Life Flutter Demo
Dart
13
star
60

OAuthRequestBuilderSwift

OAuth Authentication with Custom Headers in Swift
Swift
13
star
61

ResponsiveCollectionViews

Demo app showing how to make UICollectionViews responsive to trait collection changes
Swift
13
star
62

convert-srt-vtt

Bash script to convert closed captions from SRT to VTT format
Shell
13
star
63

firebase-example-flutter

Sample Firebase anonymous auth with Flutter
Dart
13
star
64

flutter_simple_permissions

Swift
12
star
65

mood_tracker_flutter

Super easy mood tracking app to demonstrate use of the Firebase Local Emulator Suite
Dart
12
star
66

SudokuSolver

JSON Android Sudoku Solver
Java
10
star
67

dart_json_parsing_examples

JSON Parsing examples in Dart
Dart
10
star
68

contacts_list_demo_flutter

Sample contact list page built in Flutter and iOS
Swift
10
star
69

MVFeedbackBanner

Customisable banner UI to ask for user feedback / app rating
Swift
9
star
70

flutter_web_apps_template

Flutter Web + GitHub Pages templates
Makefile
8
star
71

ITunesSearch.js

Javascript client for App Store Lookup based on iTunes Search API
JavaScript
7
star
72

coding-with-flutter-robohash-demo

Sample Flutter app showing an avatar image with the RoboHash API.
Dart
7
star
73

flutter_firestore_counter_app

Dart
6
star
74

openai_dart_shelf_flutter

OpenAI + Dart Shelf + Flutter Demo
C++
6
star
75

simple_auth_flutter_firebase_ui

Minimal authentication flow with Flutter & Firebase Auth
C++
5
star
76

faker_app_firebase

Simple Flutter app showing how to use the Firebase UI packages
C++
5
star
77

multiple_counters_firestore_flutter

Multiple Counters Flutter App with Cloud Firestore
Dart
5
star
78

flutter-firebase-ecommerce-docs

4
star
79

ncov_2019_app_flutter

Coronavirus REST API Flutter Course (demo app before recordings)
Dart
4
star
80

image_upload_flutter_firebase

Flutter image upload demo with Firebase Storage
C++
3
star
81

OGLESCubeTestAPI

Android Test for ES API 1.0 and 2.0
Java
3
star
82

MVKerningLabel

UILabel subclass with kerning support via @IBInspectable property
Swift
2
star
83

MVCoreDataStack

Core Data Parent-Child Stack for iOS 8 and 9
Swift
2
star
84

dart-null-safety-package-name-issue

Null Safety only works if package name is `test`
Dart
2
star
85

firebase_id_token_bug

Ruby
2
star
86

redux-navigator-react

Example app combining redux with react-navigation
JavaScript
2
star
87

SwiftyStoreDemo

Example app for iOS, tvOS showing how to retrieve products info with StoreKit
Swift
2
star
88

astro-vercel-serverless-bug

Astro
1
star
89

PopSpringViews

Helper classes to enable Facebook POP spring animations on UIViews
Swift
1
star
90

Xcode-xcarchive-command

Xcode xcarchive command to archive to custom location
Shell
1
star
91

firebase_ui_auth_widget_tests_bug

C++
1
star
92

biz-engine

OpenGL 2.0 Graphics engine + SDK
C++
1
star
93

MVITunesSearch

Simple wrapper library for the iTunes Search API to search for apps by developer ID
Objective-C
1
star