Flutter Live Extended is organized by Flutter Pakistan community in Karachi and it is based on Flutter Live event.
This project is the Flutter app for the event. Feel free to fork this repo to customize the app for your own event.
The app takes a lot from Google I/O Android app while trimming down the stuff that was not needed. It also adds a few features as described in next section.
The app displays a list of sessions with an option to see the details about sessions and speakers. Users can also register for the event using the app and at event day, it lets users mark their attendance using QR code. The app uses Google Sign-in to fetch user details and to enable event registration through the app.
The app also displays a map of the venue with an option to navigate using the installed maps app.
The app is written entirely in Flutter and should compile and run on stable Flutter versions (tested till 1.2).
The app makes considerable use of following Firebase components:
- Cloud Firestore is the source of all data being shown on the app including session and speaker details, and user registration.
- Firebase Authentication is used to let the user sign-in using their Google ID.
This repo does not contain some required Firebase setup. Follow this guide to setup Cloud Firestore for this app. There's also a good video walkthrough for setting up.
The app depends on an already setup Firestore data in order to run properly which is present in /data/firebase-export.json
. To import this data, follow these steps:
- Install Firestore Import/Export utility
- Export your Firebase private key, it will be automatically downloaded to your computer. Copy this file to the
/data
folder. Rename this file tofirebase-credentials.json
. - Open terminal and go to
/data
folder. - Run the following command
$ firestore-import -a firebase-credentials.json -b firebase-export.json
- After this command is executed successfully, go to your Database section of your Firebase console to make sure that the data is created there.
You can also export Firestore data using the following command:
$ firestore-export -a firebase-credentials.json -b firebase-export.json -p
This will export the data into firebase-export.json
file.
One common use case is to get all users and export them to CSV. There's a Dart script included in the data
folder and it can be used as shown below:
$ dart convert.dart firebase-export.json
This will create an export.csv
in the same folder which you can then use with Microsoft Excel, Google Sheets etc.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Copyright 2019 Flutter Pakistan. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.