showcase.mp4
This is a sample Android app that demonstrates how to use Firebase Authentication, Crashlytics, Cloud Firestore, Performance Monitoring and Remote Config with Jetpack Compose UI. Make it So is a simple to-do list application that allows the user to add and edit to-do items, add flags, priorities, due dates, and mark the tasks as completed.
To explain how each product above was used in the code, we've written a series of articles that delve into creating this app from scratch. Navigate to part 1 of this series to understand how this app is structured. There you will find the links to all articles in the series.
In order for this app to work, you will need to create a Firebase project:
- Clone this repository
- Create a Firebase project in the Firebase Console
- Follow these steps to register Make it So app in your Firebase project
- Follow these steps to add the Firebase Android configuration file to Make it So
- Create a Cloud Firestore database in your Firebase project
- Enable Anonymous Authentication in your Firebase project
- Enable Email/Password Authentication in your Firebase project
- Run the app using Android Studio Flamingo+ on a device/emulator with API level 21 or above
- Create your first to-do item in the app
- In the Firebase console, navigate to the Firestore Indexes tab
- Create a new composite index for the collection
tasks
with 2 fields:userId
andcreatedAt
(both Ascending) - Choose the "Collection" option in Query scopes (you won't be using
collectionGroup
in this app)
This index is necessary when fetching documents because this app uses where
and orderBy
operators in different fields: where
uses the userId
field and orderBy
uses the createdAt
field (see StorageServiceImpl
). Learn more on the Firebase documentation about Index types.
Please navigate to the discussions page if you have any questions or want to suggest changes to the Make it So app.