diff --git a/README.md b/README.md index 0d2cd40..bd67e32 100644 --- a/README.md +++ b/README.md @@ -6,79 +6,187 @@ Developing Full-Stack Applications for the Cloud Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook -## [Chapter 1 Dart Essentials I](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch01) -- [x] [1.1 How to install the Dart SDK](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-1.md) -- [x] [1.2 How to run a Dart application](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-2.md) -- [x] [1.3 How to declare variables](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-3.md) -- [x] [1.4 How to use the print statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-4.md) -- [x] [1.5 How to use the If statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-5.md) -- [x] [1.6 How to use while/do while](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-6.md) -- [x] [1.7 How to use a For statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-7.md) -- [x] [1.8 How to use a Switch statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-8.md) -- [x] [1.9 How to use an Enum](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-9.md) -- [x] [1.10 How to use a Const](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-10.md) -- [x] [1.11 How to use a Final](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-11.md) - -## [Chapter 2 Dart Essentials II](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch02) -- [x] [How to declare functions](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-1.md) -- [x] [How to declare anoynomous functions](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-2.md) -- [x] [How to declare classes](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-3.md) -- [x] [How to declare constructors](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-4.md) -- [x] [How to extend clasess](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-5.md) -- [x] [How to use mixins](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-6.md) -- [x] [How to use Lists](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-7.md) -- [x] [How to use a Map](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-8.md) -- [x] [How to work with Null](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-9.md) -- [x] [How to handle Exceptions](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-10.md) -- [x] [How to use Import](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch02/ex2-11.md) - -## [Chapter 3 Flutter Essentials I](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch03) -- [ ] Mocking an application interface -- [ ] Create a Flutter Project -- [ ] Building with Widgets -- [ ] Working with Rich Text -- [ ] Using Horizontal lists -- [ ] Using Vertical lists -- [ ] Adding user interactivity -- [ ] Adding page navigation -- [ ] Adding a snackbar -- [ ] adding SliverAppBar -- [ ] Determining the platform - -## [Chapter 4 Flutter Essentials II](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch04) -- [ ] Using Expanded -- [ ] Using Circle Avatar -- [ ] Using Media Query -- [ ] Using Stateful Widgets -- [ ] Using Stateless Widgets -- [ ] Adding googlefonts -- [ ] Adding a container -- [ ] Adding Bottom navigation -- [ ] Adding a Drawer -- [ ] Adding a Gridview -- [ ] Adding an introduction screen (Splash) - -## [Chapter 5 Flutter Essentials III](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch05) -- [ ] Using local data management -- [ ] Using JSON -- [ ] Adding a Future loader - -## [Chapter 6 Cloud Essentials I](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch06) -- [ ] Cloud Providers - e.g. Google Cloud, AWS, Azure -- [ ] Using Cloud Object Storage -- [ ] Using Workspace APIs - -## [Chapter 7 Cloud Essentials II](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch07) -- [ ] Google Cloud Run -- [ ] AWS Lamba -- [ ] Azure Functions - -## [Chapter 8 Authentication I](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch08) -- [ ] Passport -- [ ] Firebase Authentication - -## [Chapter 9 Databases I](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch09) -- [ ] Firebase Firestore -- [ ] MongoDB -- [ ] MySQL -- [ ] PostgreSQL + +## [Chapter 1 Setting up your environment](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch01) + +- [x] [1.1 How to install the Dart SDK](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-1.md) +- [x] [1.2 How to run a Dart application](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-2.md) +- [x] [1.3 Extending Android Studio to support Dart](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-3.md +- [x] [1.4 Developing with VS Code](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-4.md) +- [x] [1.5 Installing the Dart SDK](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-5.md) +- [x] [1.6 Running a Dart application](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-6.md) +- [x] [1.7 Selecting a release channel](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-7.md) + + +## [Chapter 2 Learning Dart variables](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch02) + + +- [x] [2.1 Declaring an integer variable](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-1.md +- [x] [2.2 Declaring a Double variable](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-2.md +- [x] [2.3 Declaring a bool variable](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-3.md) +- [x] [2.4 Declaring a string variable](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-4.md) +- [x] [2.5 Using a print statement](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-5.md) +- [x] [2.6 Using a const](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-6.md) +- [x] [2.7 Using final](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-7.md) +- [x] [2.8 Working with Null](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-8.md) + +## [Chapter 3 Exploring control flow](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch03) + + +- [x] [3.1 Using an If statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-1.md) +- [x] [3.2 Using While/Do while](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-2.md) +- [x] [3.3 Using a For statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-3.md) +- [x] [3.4 Using a Switch statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-4.md) +- [x] [3.5 Using an Enum](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-5.md) +- [x] [3.6 Handling exceptions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-6.md) + + +## [Chapter 4 Implementing Functions](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch04) + + +- [x] [4.1 Declaring functions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-1.md) +- [x] [4.2 Adding Parameters to functions](https://github.com/rosera/flutter-/nd-dart-cookbook/blob/main/ch04/ex4-2.md) +- [x] [4.3 Returning values from functions](https://github.com/rosera/flutter-and-dart-cookbbokblob/main/ch04/ex4-3.md) +- [x] [4.4 Declaring anonymous functions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-4.md) +- [x] [4.5 Using optional parameters](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-5.md) + + +## [Chapter 5 Handling maps and lists](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch05) + + +- [x] [5.1 Using a map to handle objects](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-1.md) +- [x] [5.2 Retrieving map content](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-2.md) +- [x] [5.3 Validating key existence within a map](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-3.md) +- [x] [5.4 Working with lists](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-4.md) +- [x] [5.5 Adding list content](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-5.md) +- [x] [5.6 Using lists with complex types](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-6.md) + +## [Chapter 6 Leveraging classes](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch06) + + +- [x] [6.1 Defining classes](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-1.md) +- [x] [6.2 Using class constructors](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-2.md) +- [x] [6.3 Extending a class](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-3.md) +- [x] [6.4 Extending classes with mixins](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-4.md) +- [x] [6.5 Importing a package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-5.md) + + +## [Chapter 7 Introducing the Flutter framework](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch07) + + +- [x] [7.1 Mocking an interface](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07ex7-1.md) +- [x] [7.2 Creating a Flutter project](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-2.md) +- [x] [7.3 Working with a stateful widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-3.md) +- [x] [7.4 Working with a stateless widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-4.md) +- [x] [7.5 Refactoring widgets](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-5.md) +- [x] [7.6 Removing the Flutter debug banner](https://github.com/rosera/flutter-and-dart-cookbookblob/main/ch07/ex7-6.md) + +## [Chapter 8 Working with widgets](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch08) + + +- [x] [8.1 Using the scaffold class](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08ex8-1.md) +- [x] [8.2 Using an AppBar](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-2.md) +- [x] [8.3 Using an Expanded widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-3.md) +- [x] [8.4 Building with a container](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-4.md) +- [x] [8.5 Using a Center widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-5.md) +- [x] [8.6 Using a SizedBox](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-6.md) +- [x] [8.7 Using a Column](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-7.md) +- [x] [8.8 Using a Row](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-8.md) + + +## [Chapter 9 Developing user interfaces](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch09) + + +- [x] [9.1 Incorporating rich text](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-1.md) +- [x] [9.2 Incororating the Google Fonts package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-2.md) +- [x] [9.3 Identifying the host platform](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-3.md) +- [x] [9.4 Using a Placeholder widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-4.md) +- [x] [9.5 Using a Layout builder](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-5.md) +- [x] [9.6 Getting screen dimensions with Media query](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-6.md) + + +## [Chapter 10 Organising on screen data](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch10) + + +- [x] [10.1 Implementing a vertical list](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-1.md) +- [x] [10.2 Implementing a horizontal list](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-2.md) +- [x] [10.3 Adding a SliverAppBar](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-3.md) +- [x] [10.4 Adding a grid of items](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-4.md) +- [x] [10.5 Adding a SnackBar (pop up notification](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-5.md) + + +## [Chapter 11 Flutter page navigation](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch11) + + +- [x] [11.1 Adding page navigation with routes ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-1.md) +- [x] [11.2 Implementing a navigational drawer](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-2.md) +- [x] [11.3 Working with tabs](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-3.md) +- [x] [11.4 Adding bottom navigation ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-4.md) +- [x] [11.5 Using keys to pass information](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-5.md) + + + +## [Chapter 12 Handling data assets](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch12) + + +- [x] [12.1 Refactoring data](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-1.md) +- [x] [12.2 Local data management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-2.md) +- [x] [12.3 Asset folder management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-3.md) +- [x] [12.4 Remote data management JSON](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-4.md) +- [x] [12.5 Automating JSON to Dart classes](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-5.md) +- [x] [12.6 Using JSON serialization](https://github.com/rosera/flutter-and-dart-cookbook-examples/blob/main/ch12/ex12-6.md) + +## [Chapter 13 Introducing cloud services](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch13) + + +- [x] [13.1 Introducing cloud providers](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-1.md) +- [x] [13.2 Working with identity and access management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-2.md) +- [x] [13.3 Using cloud storage to host and API](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-3.md) +- [x] [13.4 Using a spreadsheet as a backend](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-4.md) +- [x] [13.5 Developing with serverless (cloud run)](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-5.md) + +## [Chapter 14 Working with Firebase and Flutter](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch14) + + +- [x] [14.1 Integrating Firebase backend with Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-1.md) +- [x] [14.2 Setting up a Firebase project](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-2.md) +- [x] [14.3 Initilise Firebase on the client](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-3.md) +- [x] [14.4 Firebase/Flutter client integration](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-4.md) +- [x] [14.5 Configuring Firebase emulators for local development](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-5.md) +- [x] [14.6 Adding Firebase authentication to Flutter ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-6.md) +- [x] [14.7 Setting up cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-7.md) +- [x] [14.8 Writing data to cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-8.md) +- [x] [14.9 Reading data from cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-9.md) + + +## [Chapter 15 Starting game development](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch15) + + +- [x] [15.1 Adding the Flame package to Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-1.md) +- [x] [15.2 Using the Flame boilerplate](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-2.md) +- [x] [15.3 Refactoring with Flame components](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-3.md) +- [x] [15.4 Using the Flame graphic primitives](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-4.md) +- [x] [15.5 Adding text rendering](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-5.md) +- [x] [15.6 Adding sound effects to a Flame game](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-6.md) +- [x] [15.7 Adding keyboard input](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-7.md) +- [x] [15.8 Adding collision detection](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-8.md) +- [x] [15.9 Adding inout for user interactivity](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-9.md) + + +## [Chapter 16 Using Dart test cases](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch16) + + +- [x] [16.0 Using Dart test cases](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-0.md) +- [x] [16.1 Adding the Dart test package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-1.md) +- [x] [16.2 How to apply unit tests to Dart](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-2.md) +- [x] [16.3 Grouping multiple unit tests](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-3.md) +- [x] [16.4 Adding mock data for testing](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-4.md) +- [x] [16.5 Performing widget testing](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-5.md) + + +## [Chapter 17 Testing the Flutter user interface](https://github.com/rosera/flutter-and-dart-cookbook/tree/main/ch17) + + +- [x] [17.1 Testing widgets in Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-1.md) +- [x] [17.2 Performing integration testing with Flutter Driver](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-2.md) +- [x] [17.3 Testing Android/iOS device compatibility ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-3.md) diff --git a/ch01/README.md b/ch01/README.md index 885ee5e..a8c7268 100644 --- a/ch01/README.md +++ b/ch01/README.md @@ -6,16 +6,14 @@ Developing Full-Stack Applications for the Cloud Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook -## Dart Essentials I +## Setting up your environment + +- [x] [1.1 How to install the Dart SDK](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-1.md) +- [x] [1.2 How to run a Dart application](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-2.md) +- [x] [1.3 Extending Android Studio to support Dart](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-3.md +- [x] [1.4 Developing with VS Code](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-4.md) +- [x] [1.5 Installing the Dart SDK](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-5.md) +- [x] [1.6 Running a Dart application](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-6.md) +- [x] [1.7 Selecting a release channel](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch01/ex1-7.md) + -- [x] [1.1 How to install the Dart SDK](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-1.md) -- [x] [1.2 How to run a Dart application](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-2.md) -- [x] [1.3 How to declare variables](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-3.md) -- [x] [1.4 How to use the print statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-4.md) -- [x] [1.5 How to use the If statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-5.md) -- [x] [1.6 How to use while/do while](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-6.md) -- [x] [1.7 How to use a For statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-7.md) -- [x] [1.8 How to use a Switch statement](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-8.md) -- [x] [1.9 How to use an Enum](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-9.md) -- [x] [1.10 How to use a Const](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-10.md) -- [x] [1.11 How to use a Final](https://github.com/rosera/flutter-full-stack-examples/blob/main/ch01/ex1-11.md) diff --git a/ch02/README.md b/ch02/README.md new file mode 100644 index 0000000..1f86c79 --- /dev/null +++ b/ch02/README.md @@ -0,0 +1,21 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Learning Dart variables + +- [x] [2.1 Declaring an Integer variable +](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-1.md) +- [x] [2.2 Declaring a Double variable](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-2.md +- [x] [2.3 Declaring a bool variable](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-3.md) +- [x] [2.4 Declaring a string variable](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-4.md) +- [x] [2.5 Using a print statement](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-5.md) +- [x] [2.6 Using a const](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-6.md) +- [x] [2.7 Using final](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-7.md) +- [x] [2.8 Working with Null](http://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch02/ex2-8.md) + diff --git a/ch03/README.md b/ch03/README.md new file mode 100644 index 0000000..ffa6747 --- /dev/null +++ b/ch03/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Exploring control flow + +- [x] [3.1 Using an If statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-1.md) +- [x] [3.2 Using While/Do while](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-2.md) +- [x] [3.3 Using a For statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-3.md) +- [x] [3.4 Using a Switch statement](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-4.md) +- [x] [3.5 Using an Enum](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-5.md) +- [x] [3.6 Handling exceptions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch03/ex3-6.md) diff --git a/ch04/README.md b/ch04/README.md new file mode 100644 index 0000000..f081d24 --- /dev/null +++ b/ch04/README.md @@ -0,0 +1,16 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Implementing Functions + +- [x] [4.1 Declaring functions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-1.md) +- [x] [4.2 Adding Parameters to functions](https://github.com/rosera/flutter-/nd-dart-cookbook/blob/main/ch04/ex4-2.md) +- [x] [4.3 Returning values from functions](https://github.com/rosera/flutter-and-dart-cookbbokblob/main/ch04/ex4-3.md) +- [x] [4.4 Declaring anonymous functions](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-4.md) +- [x] [4.5 Using optional parameters](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch04/ex4-5.md) diff --git a/ch05/README.md b/ch05/README.md new file mode 100644 index 0000000..c1b15de --- /dev/null +++ b/ch05/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Handling maps and lists + +- [x] [5.1 Using a map to handle objects](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-1.md) +- [x] [5.2 Retrieving map content](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-2.md) +- [x] [5.3 Validating key existence within a map](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-3.md) +- [x] [5.4 Working with lists](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-4.md) +- [x] [5.5 Adding list content](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-5.md) +- [x] [5.6 Using lists with complex types](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch05/ex5-6.md) diff --git a/ch06/README.md b/ch06/README.md new file mode 100644 index 0000000..f600835 --- /dev/null +++ b/ch06/README.md @@ -0,0 +1,16 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Leveraging classes + +- [x] [6.1 Defining classes](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-1.md) +- [x] [6.2 Using class constructors](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-2.md) +- [x] [6.3 Extending a class](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-3.md) +- [x] [6.4 Extending classes with mixins](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-4.md) +- [x] [6.5 Importing a package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch06/ex6-5.md) diff --git a/ch07/README.md b/ch07/README.md new file mode 100644 index 0000000..ca799d9 --- /dev/null +++ b/ch07/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Introducing the Flutter framework + +- [x] [7.1 Mocking an interface](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07ex7-1.md) +- [x] [7.2 Creating a Flutter project](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-2.md) +- [x] [7.3 Working with a stateful widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-3.md) +- [x] [7.4 Working with a stateless widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-4.md) +- [x] [7.5 Refactoring widgets](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch07/ex7-5.md) +- [x] [7.6 Removing the Flutter debug banner](https://github.com/rosera/flutter-and-dart-cookbookblob/main/ch07/ex7-6.md) diff --git a/ch08/README.md b/ch08/README.md new file mode 100644 index 0000000..1c4a7a9 --- /dev/null +++ b/ch08/README.md @@ -0,0 +1,19 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Working with widgets + +- [x] [8.1 Using the scaffold class](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08ex8-1.md) +- [x] [8.2 Using an AppBar](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-2.md) +- [x] [8.3 Using an Expanded widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-3.md) +- [x] [8.4 Building with a container](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-4.md) +- [x] [8.5 Using a Center widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-5.md) +- [x] [8.6 Using a SizedBox](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-6.md) +- [x] [8.7 Using a Column](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-7.md) +- [x] [8.8 Using a Row](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch08/ex8-8.md) diff --git a/ch09/README.md b/ch09/README.md new file mode 100644 index 0000000..16a4f29 --- /dev/null +++ b/ch09/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Developing user interfaces + +- [x] [9.1 Incorporating rich text](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-1.md) +- [x] [9.2 Incororating the Google Fonts package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-2.md) +- [x] [9.3 Identifying the host platform](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-3.md) +- [x] [9.4 Using a Placeholder widget](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-4.md) +- [x] [9.5 Using a Layout builder](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-5.md) +- [x] [9.6 Getting screen dimensions with Media query](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch09/ex9-6.md) diff --git a/ch10/README.md b/ch10/README.md new file mode 100644 index 0000000..d5b4874 --- /dev/null +++ b/ch10/README.md @@ -0,0 +1,16 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Organising on screen data + +- [x] [10.1 Implementing a vertical list](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-1.md) +- [x] [10.2 Implementing a horizontal list](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-2.md) +- [x] [10.3 Adding a SliverAppBar](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-3.md) +- [x] [10.4 Adding a grid of items](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-4.md) +- [x] [10.5 Adding a SnackBar (pop up notification](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch10/ex10-5.md) diff --git a/ch11/README.md b/ch11/README.md new file mode 100644 index 0000000..c571619 --- /dev/null +++ b/ch11/README.md @@ -0,0 +1,16 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Flutter page navigation + +- [x] [11.1 Adding page navigation with routes ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-1.md) +- [x] [11.2 Implementing a navigational drawer](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-2.md) +- [x] [11.3 Working with tabs](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-3.md) +- [x] [11.4 Adding bottom navigation ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-4.md) +- [x] [11.5 Using keys to pass information](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch11/ex11-5.md) diff --git a/ch12/README.md b/ch12/README.md new file mode 100644 index 0000000..e60360e --- /dev/null +++ b/ch12/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Handling data assets + +- [x] [12.1 Refactoring data](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-1.md) +- [x] [12.2 Local data management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-2.md) +- [x] [12.3 Asset folder management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-3.md) +- [x] [12.4 Remote data management JSON](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-4.md) +- [x] [12.5 Automating JSON to Dart classes](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch12/ex12-5.md) +- [x] [12.6 Using JSON serialization](https://github.com/rosera/flutter-and-dart-cookbook-examples/blob/main/ch12/ex12-6.md) diff --git a/ch13/README.md b/ch13/README.md new file mode 100644 index 0000000..56ef946 --- /dev/null +++ b/ch13/README.md @@ -0,0 +1,16 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Introducing Cloud services + +- [x] [13.1 Introducing cloud providers](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-1.md) +- [x] [13.2 Working with identity and access management](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-2.md) +- [x] [13.3 Using cloud storage to host and API](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-3.md) +- [x] [13.4 Using a spreadsheet as a backend](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-4.md) +- [x] [13.5 Developing with serverless (cloud run)](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch13/ex13-5.md) diff --git a/ch14/README.md b/ch14/README.md new file mode 100644 index 0000000..93cb86c --- /dev/null +++ b/ch14/README.md @@ -0,0 +1,20 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Working with Firebase and Flutter + +- [x] [14.1 Integrating Firebase backend with Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-1.md) +- [x] [14.2 Setting up a Firebase project](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-2.md) +- [x] [14.3 Initilise Firebase on the client](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-3.md) +- [x] [14.4 Firebase/Flutter client integration](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-4.md) +- [x] [14.5 Configuring Firebase emulators for local development](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-5.md) +- [x] [14.6 Adding Firebase authentication to Flutter ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-6.md) +- [x] [14.7 Setting up cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-7.md) +- [x] [14.8 Writing data to cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-8.md) +- [x] [14.9 Reading data from cloud Firestore](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch14/ex14-9.md) diff --git a/ch14/ex14-8.md b/ch14/ex14-8.md index 26c07a5..78344ae 100644 --- a/ch14/ex14-8.md +++ b/ch14/ex14-8.md @@ -1,4 +1,4 @@ -# 14.8 Writing to data to Cloud Firestore +# 14.8 Writing data to Cloud Firestore # Example: Add packages @@ -9,7 +9,7 @@ flutter pub add cloud_firestore ``` -# Example: Firebase essentionals II +# Example: Firebase essentials II [https://docs.google.com/document/d/1EWne4Bd0ETHkEQgWuvrVZeQXEgDLXMY69iHw138PYNk/edit?resourcekey=0-8K3f5lNqMJyX2L9aQucPag#](Firebase & Flutter) diff --git a/ch15/README.md b/ch15/README.md new file mode 100644 index 0000000..aea9072 --- /dev/null +++ b/ch15/README.md @@ -0,0 +1,20 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Starting with game development + +- [x] [15.1 Adding the Flame package to Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-1.md) +- [x] [15.2 Using the Flame boilerplate](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-2.md) +- [x] [15.3 Refactoring with Flame components](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-3.md) +- [x] [15.4 Using the Flame graphic primitives](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-4.md) +- [x] [15.5 Adding text rendering](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-5.md) +- [x] [15.6 Adding sound effects to a Flame game](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-6.md) +- [x] [15.7 Adding keyboard input](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-7.md) +- [x] [15.8 Adding collision detection](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-8.md) +- [x] [15.9 Adding inout for user interactivity](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch15/ex15-9.md) diff --git a/ch15/ex15-8.md b/ch15/ex15-8.md index 829e62a..1413ea0 100644 --- a/ch15/ex15-8.md +++ b/ch15/ex15-8.md @@ -1,4 +1,4 @@ -# 15.8 Adding Collection Detection +# 15.8 Adding Collision Detection # Example: Collision detection diff --git a/ch16/README.md b/ch16/README.md new file mode 100644 index 0000000..6e67879 --- /dev/null +++ b/ch16/README.md @@ -0,0 +1,17 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Using Dart test cases + +- [x] [16.0 Using Dart test cases](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-0.md) +- [x] [16.1 Adding the Dart test package](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-1.md) +- [x] [16.2 How to apply unit tests to Dart](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-2.md) +- [x] [16.3 Grouping multiple unit tests](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-3.md) +- [x] [16.4 Adding mock data for testing](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-4.md) +- [x] [16.5 Performing widget testing](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch16/ex16-5.md) diff --git a/ch17/README.md b/ch17/README.md new file mode 100644 index 0000000..c3ed797 --- /dev/null +++ b/ch17/README.md @@ -0,0 +1,14 @@ + +# Flutter Full stack examples + +Developing Full-Stack Applications for the Cloud + +![Flutter & Dart Cookbook](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/images/flutter-dart-cookbook-sml.png "Flutter & Dart Cookbook") + +Companion repository for O'Reilly Flutter & Dart Full Stack Cookbook + +## Testing the Flutter user interface + +- [x] [17.1 Testing widgets in Flutter](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-1.md) +- [x] [17.2 Performing integration testing with Flutter Driver](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-2.md) +- [x] [17.3 Testing Android/iOS device compatibility ](https://github.com/rosera/flutter-and-dart-cookbook/blob/main/ch17/ex17-3.md)