Birthday reminder is a simple Material Design Android app which notifies users of upcoming birthdays. Released in 2015, it has had many design and feature update since then, many coming from user requests. Recent additions include Firebase auth and realtime database for data backup. As I built this when I was quite inexperienced, it doesn't follow any of the common Android architecture patterns, so I wouldn't recommend using this structure elsewhere.
- Added Google sign in & migrated to Firebase database
- Added Thai language support
- Added ability to import contacts from device if birthday information is available
- Added privacy policy page
In order to build the project you will need to follow the steps below:
First, ensure that you have the following minimum requirements:
Android Studio 3.1.1
Android SDK Platform 23
Gradle 4.4
Gradle plugin 3.1.1
Once this is resolved, you should see the following error:
File google-services.json is missing. The Google Services Plugin cannot function without it.
This is because the app depends on Firebase for auhentication and data persistance. You will need to set up your own Firebase account and project here: https://firebase.google.com/
Once you have an app environemt set up, you should be prompted to download a google-services.json file (you can also find it later on the project settings page). Drop this file under the 'app' module and you should now be able to build the app to a device.
You will also need to enable Google auth on the firebase console, and setup a google sign in key: https://developers.google.com/identity/sign-in/android/. Add the key to the project level gradle.properties file like so:
...
GOOGLE_SIGN_IN_KEY = "3716492804734-3v8qb0386kmfsas4eu44amna8a3b8c13.apps.googleusercontent.com";
Now you should be able to build the project locally, sign in with google and save data to Firebase.