A beautiful and simple Pomodoro timer application.
We use React Native for iOS and Android.
Follow this guide to build the release variant of the application.
After creating the keystore, run ./gradlew signingReport
in the android
directory to get the SHA-1 and SHA-256 fingerprints of the newly created keystore. Then, make sure to copy the fingerprints over to the Firebase project settings for the Android application.
Follow this guide to build and publish the application.
Wave Focus is built on Google Cloud Platform (GCP). It relies on:
- Firebase Authentication to provide user accounts and timer sync across multiple devices
- Firebase Firestore for its realtime document database
- Firebase Cloud Functions to schedule and trigger notifications
- Firebase Cloud Messaging for push notifications
- Google Cloud Tasks API
- A queue
wavefocus-notifications
inus-central1
is used to queue notifications for deferred delivery
- A queue
For more information about its notification architecture, refer to this blog post.
Visit the iOS application settings on Firebase console.
Download GoogleService-Info.plist
and add it to the root of the Xcode project at /ios/GoogleService-Info.plist
. If prompted, add the file to all targets.
Visit the Android application settings on Firebase console.
Download google-services.json
and add it to /android/app/google-services.json
.