Book Image

Flutter Projects

By : Simone Alessandria
Book Image

Flutter Projects

By: Simone Alessandria

Overview of this book

Flutter is a modern reactive mobile framework that removes a lot of the complexity found in building native mobile apps for iOS and Android. With Flutter, developers can now build fast and native mobile apps from a single codebase. This book is packed with 11 projects that will help you build your own mobile applications using Flutter. It begins with an introduction to Dart programming and explains how it can be used with the Flutter SDK to customize mobile apps. Each chapter contains instructions on how to build an independent app from scratch, and each project focuses on important Flutter features.From building Flutter Widgets and applying animations to using databases (SQLite and sembast) and Firebase, you'll build on your knowledge through the chapters. As you progress, you’ll learn how to connect to remote services, integrate maps, and even use Flare to create apps and games in Flutter. Gradually, you’ll be able to create apps and games that are ready to be published on the Google Play Store and the App Store. In the concluding chapters, you’ll learn how to use the BLoC pattern and various best practices related to creating enterprise apps with Flutter. By the end of this book, you will have the skills you need to write and deliver fully functional mobile apps using Flutter.
Table of Contents (15 chapters)
12
Assessment

Writing data to Firebase: Adding the favorite feature

We want to give users the ability to choose their favorite parts of the event program. In this way, we'll also see how to write data to the Cloud Firestore database, and to query data based on specific selection criteria.

Just as we did for the EventDetail class, let's create a new model class that will contain the user's favorites, as follows:

  1. Let's create a new file in the models directory, called favorite.dart.
  1. A favorite object needs to contain an ID, the user ID (UID) of the user, and the ID of the selected event detail. We'll mark all the properties as private, and we'll create an unnamed constructor to set a new instance of a favorite, as follows:
class Favorite {
String _id;
String _eventId;
String _userId;
Favourite(this._id, this._eventId, this._userId);
}
  1. Then, we'll create...