The administration app for APPointment
With the power of Firebase you can have your customer catalog wherever you go. You can choose between registered and unregistered customers (or both) and even create the profile of a customer who doesn’t have the app.
You can contact your customer choosing one of the available methods:
- Calling
- SMS
- Push notification
Calling and Sms will be handled by external apps through Intents
You can choose from a precomposed notifications or make your own and sent it to your customer via FCM.
Keep important information about each of your customers with notes. Each note support also images so you can keep track of your customer progress!
All notes images stored at your Google Drive to avoid the 1 GB limitation of Firebase storage and also keep the images even if you uninstall the app.
In the case that you have created an unregistered account for a customer and this customer eventually created an account on their own, you can merge the two accounts by preserving the registered own and choose what information to keep in case of conflicts.
To build the project you must provide:
- a google-services.json file in the root project* folder. You can retrieve it from "Project Settings" at Firbase console
- a .jks file in order to sign the release build
- a keystore.properties file with the following structure:
storePassword = <Keystore password>
keyPassword = <Signing key password>
keyAlias = <Key alias>
storeFile = <Path to the .jks file>
Those fields corresponds to properties at module level build.gradle** file. You need both .jks and keystore.properties files in order to sign the release build.
* Be sure to check the official Firebase documentation
** keystore.properties file's path should also be changed inside build.gradle if the file is not located at project's root
- a "FCM_KEY" promerty in the local.properties file:
FCM_KEY="<your_fcm_key>"
The FCM key is needed in order to send FCM notifications throu FCM Rest API (legacy). You can retrieve the key from project's settings on the Firebase console***. Check the official Firebase documentation for more info.
*** Be sure to enable the FCM API from your Google account console
In order for the app to work without any modifications you must enable the following sign-in methods from Firebase console:
- Email/Password
Here is a brief summary of what technologies have been used for the app:
- Firebase for authentication and storage
- Coroutines
- Drive API for storing the images from notes
- FCM for push notifications
- Retrofit and Moshi to communicate wirh the FCM API
- Navigation component
- Coil to load images
- Google Sign-In for Android to authenticate for Drive API
This software uses the following open source packages:
The customer app is available on the APPointment repo.