Expense tracking app built using flutter. Add, edit and track your expenses from your phone or browser using the companion web app found here
- Requires the Flutter SDK to be installed as well as the android SDK tools. Instructions on how to setup your device for flutter development can be found at the official flutter install guide
1) Setting up the database.
1) Visit the firebase console and create a new project.
2) Once your project is ready select
Database under the
Develop tab on the left hand side.
3) Scroll down and select the
create database option under Realtime Database and hit enable.
4) Select the rules tab on the database page and replace the code in the editor with the security rules from here and hit publish.
2) Setting up authentication.
1) From the main overview screen of your project select
authentication from the side menu.
2) Select the
setup sign in method option and then select
5) Finally go back to the project overview page. Select the little cog wheel next to project overview on the top left and click project settings.
5) Scroll down to where it says public settings and make sure that you have a valid support email selected. This is required for authentication to work.
3) Creating a firebase app for your android device
1) From the project overview screen select the android icon under where it says
2) Enter a package name -
com.alingam.moneymonitor. You can also add a nickname for the app if you want but that is optional.
3) Next we need to create the debug signing key from your keystore. Clone the repo, open a terminal in the
android folder in the project folder and run the following commands in the terminal:
1) `keytool -genkey -v -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -keyalg RSA -keysize 2048 -validity 10000` 2) `keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android`
4) If the command ran succesfully you should be able to grab your SHA1 fingerprint. Copy the long SHA1 string under the certificate fingerprints section and paste it in the third textfield on the create app screen and then hit register app.
5) Download the generated
google-services.json and put it into
app folder in
4) Creating the cloud functions
These functions are run everytime a user registers or deletes their account and it is used to initialise or remove their data from the database.
1) Create a new folder on your device and open a terminal window. Visit the official documentation and follow steps 1 and 2. In step 2 when you run
2) Once you have completed those steps you will notice some new files and folders. Navigate to
functions/index.js and open it in a code editor of your choice.
3) Delete everything in this file and replace it with the code found here.
4) Go back to the terminal opened in step 1 and run the following command to deploy the functions.
firebase deploy --only functions.
5) Once successfully deployed check it by visiting the firebase console and selecting
functions on the left side menu. There should be two functions present called
5) Building apk
1) Open a terminal at the root of the project.
flutter build apk.