APPointment Admin
The administration app for APPointment
Table of contents
Features
Customer catalog
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.
Contact
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
Notifications
You can choose from a precomposed notifications or make your own and sent it to your customer via FCM.
Notes
Keep important information about each of your customers with notes. Each note support also images so you can keep track of your customer progress!
Google Drive support
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.
Merging
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.
Requirements
Project
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
Firebase
Authentication
In order for the app to work without any modifications you must enable the following sign-in methods from Firebase console:
- Email/Password
Built with
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
Credits
This software uses the following open source packages:
Companion app
The customer app is available on the APPointment repo.