A fund tracking application built with Flutter.

Overview

Fund Tracker

A flutter application for budgets and keeping track of transactions.

I built this because I couldn't find any application that allowed a custom or a 4-week period.

Allows authentication with Firebase and uses Firestore as a cloud database on top of using the devices' local database as backup.

Features include:

  • statistics
  • custom periods
  • recurring transactions
  • custom categories
  • filters

and more...

To run

To build this application and run it on your device or an emulator, you need:

  • Flutter
  • Android SDK
  • XCode if you wish to run on iOS

Follow the instructions here to set up: https://flutter.dev/docs/get-started/install.

Note to users

The default cloud database (Firebase) is on a free tier, and set up to remove all accounts periodically.
Please do not store important information using the default database.

Demo

The first screen is the login page.

Empty Login

Click on `Register` to create a user.

Register

Alternatively, you can log in with your existing credentials.

Login

The home page is a list of transactions.

Empty Home

Let's add a transaction. I bought an app from the Play Store for $1.99.

Adding Google Play Store Purchase

I can also choose from a preset of categories. Let's choose Games & Apps.

Adding Google Play Store Purchase Category

I also want to add an income. I sold my car for $5000. I chose Transportation as the category.

Added Sold Car

Say I wish to create a custom category for things I've sold. Let's open the menu and go to Categories. This page displays a list of all the categories. You can choose to show these in the transactions page by selecting/unselecting individual categories and change the order it is displayed in the dropdown.

Menu From Home Default Categories

But we are here to create a new category, so click on the floating + button. In the category creation/edit page, you can specify the name, the icon (from MaterialIcons), and the colour.

Adding Category Name Adding Category Icon
Adding Category Colour Adding Category Filled

Click Add and at the bottom of the list, voila!

Added Category

You can click on each category to edit them, if you wish. For now, let's go back to the car transaction and change the category. In the category dropdown, you can see that Items Sold is now available to use. Select the category, save, and the transaction is now updated.

New Category In Dropdown Updated Transaction New Category

I just bought another app from the Play Store and wish to add a transaction. As soon as I start typing, transactions from the past that starts with the same name are suggested. Choose the suggestion. The name and the category are changed for you. Enter the rest of the details and save.

Show Suggestions Add Suggestion Details

Now that you have a few transactions, let's check out our statistics. You can swipe to the left or click on Statistics.

Statistics

There are three main views:

  • All-Time
  • Period
  • Custom

The All-Time tab shows you stats from your first-ever transaction. The Period tab shows you periodic stats, which you can select from the dropdown. The Custom tab shows you stats from the range of transactions that can be set in Preferences, or you can use the date selector to select the start date in which to show the stats from. (TODO: Allow end date selection)

The statistics page currently has the following information:

  • Balance
  • Remaining days in current period / Remaining balance per day
  • Actual Income / Expenses
  • Expenditure per category (TODO: Consider income? preferences)
  • Top Expenses
Statistics Statistics Categories

Statistics Top Expenses

The transactions can be filtered from the home page (Transactions or Statistics). This filter is shared and affects the statistics. You can filter by income/expenses or by categories.

Filters

There is also a search function at the top of the transactions list.

Another useful feature is custom periods. By default, periods are set by month. In the Periods menu, let's add a custom period. I want a 4 week custom period that starts this Friday. Don't worry about past transactions, this will set the past periods properly from any set start date. Let's also set this as the default (active) period.

Empty Periods Add 4 Weeks Period

I've also added a 2 week period to show that the active period is highlighted in blue.

Periods With 4 Weeks Active

Back to the home page and the transactions list, and we can see that the transactions are split in different periods. The first two transactions were added on June 11 (before the current period started), and the last one was added on the 12th.

Custom Period in Home

The statistics page > Period tab also shows the updated period and any other periods that have transactions.

Custom Period in Stats

Another feature that is essential are Recurring Transactions. We can add this from the menu > Recurring Transactions.

Empty Recurring Transactions

Let's say I want to give my little brother $5 for the next 5 days. I can set the next date (or the start date), transaction details, the frequency, and if applicable, the end condition using either the number of times I would like, or the end date.

Add Recurring Transaction Added Recurring Transaction

Now that the recurring transaction is added, let's go to the home page. Since we set the next date for today, the transaction is already added. (Note: the allowance transaction shows up before the google play app purchase because recurring transactions are added with the time set as 00:00)

Recurring Transaction Added

The last item in the menu are the Preferences. You can currently change these items in Preferences:

  • Custom Range for the Custom tab in Statistics
  • Default tab in Statistics when opened
  • Reset Preferences

Preferences

You might also like...

Fitness Tracking App UI

Fitness Tracking App UI

Fitness Tracking App UI Support me on Patreon Watch on Youtube A new Flutter project. Getting Started This project is a starting point for a Flutter a

Oct 27, 2022

A finance app tracking financial inventory.

A finance app tracking financial inventory.

flutter_fintech A Fintech App that keeps track of your personal Finances Getting Started Clone or Fork this project if you're seeking to learn how to

Dec 29, 2022

A fully functional Movies Application built with Flutter. The application built with null safety and clean architecture, also uses OMDB API for fetching movies in the search item

A fully functional Movies Application built with Flutter. The application built with null safety and clean architecture, also uses OMDB API for fetching movies in the search item

Cinema DB Project Details This project uses null safety feature Project uses clean code architecture (Uncle Bob's Architecture) Project can run on bot

Oct 1, 2022

An application built using Flutter that can be used while playing board games if actual or physical dice is missing . This is a dual dice application.

diceee_utter A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Feb 3, 2022

Github Trending app built with Flutter+Redux+Built(Immutable Data)

Github Trending app built with Flutter+Redux+Built(Immutable Data)

May 13, 2020

Flutter-e-learning - E-Learning Application Built With Flutter

Flutter-e-learning - E-Learning Application Built With Flutter

E-Learning Demo Screens Explore Planner Overlay Videos Leaderboard Global Leader

Dec 27, 2022

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

Jan 2, 2023
Comments
  • NoSuchMethodError

    NoSuchMethodError

    hello i have successfully setup for database in firestore and after logging in to app when i clicked on Plus button to add record i got this error NoSuchMethodError:The method 'where' was called on null receiver :null tried calling : where (closure:(suggestion) => bool) how to resolve this error?

    opened by tayyabbashir2224 0
  • License Request

    License Request

    Hello!

    First, I must say, you created an absolutely beautiful app. Good job! The reason I opened this issue is because I cannot find any license. I really like the basis of this app, but have some features that I want to try to build. I am a complete noob with flutter, but I took a really good flutter course, so I feel good with it. Instead of building an app from scratch, I feel like finding a well-built app to learn the ins and outs of flutter code, so I have been looking around at other peoples' projects and yours was the best I have come across. I would like to utilize your masterpiece so I can ride on the shoulder of a giant and learn from your code, while at the same time finally building the perfect personal accounting app I have been dreaming of for years. I was looking into it, I think the best license is Apache License 2.0, because it protects you and it would allow me to use your beautiful code for the purpose I need. Please let me know if this can be done. I truly appreciate all your hard work! Stay awesome!

    opened by infinite1010 0
Owner
Andrew An
Andrew An
It's an open source project for the steps tracking (Pedometer) built with Flutter.

Flutter Steps Tracker It's an open source project for the steps tracking (Pedometer) built with Flutter and integrated with Firebase as the initial ba

Tarek Alabd 56 Nov 5, 2022
A basic cryptocurrency price-tracking application using flutter

CoiCoin Cryto Tracker - Demo Product This is a basic cryptocurrency price-tracking application to the Demo Product on Google DevFest HCMC 2021. Google

Đỗ Trường Thịnh 2 Dec 9, 2021
Official Flutter Tracking Library for Mixpanel Analytics

Table of Contents Introduction Quick Start Guide Install Mixpanel Initialize Mixpanel Send Data Check for Success I want to know more! Introduction We

Mixpanel, Inc 46 Jan 4, 2023
This is a beautiful stocks tracking app, developed using Flutter.

Stocks Tracker App This is a beautiful stocks tracking app, developed using Flutter. Features Track any stock in BSE Search from any availble stock Be

Hash Studios 8 Dec 27, 2022
Onehour-app - A time tracking app build using Flutter

Onehour A time tracking app build using Flutter Screens First Header Second Header Tech Stack Flutter Flutter Bloc with Hydrated Bloc Firebase Admob F

Fayeed Pawaskar 157 Nov 10, 2022
A digital diary and mood tracking app that helps you in keeping track of your mood and productivity throughout the month/year.

StarBook ✨ A digital diary that can help you in keeping track of your mood and productivity throughout the month. Mood tracker is a good way to see ho

Hashir Shoaib 73 Dec 23, 2022
App for tracking your expenses

Expense Manager App for tracking your expenses Purpose of the project This app may help people to control their spendings. My task was to create custo

Maksym Koriak 4 Mar 13, 2022
Cross-platform mobile app for tracking GPS with IoT technologies.

IoT Tracking Cross-platform mobile app for tracking GPS with IoT technologies. Table of Contents Introduction Requirements Installation Build & Run Kn

0xShikYe 4 Oct 2, 2022
Keep tracking your prayers.

تطبيق قضاء Keep tracking your prayers. مميزات التطبيق v1.0.0 سهولة وبساطة الواجهة. مجاني وخال من الاعلانات ومفتوح المصدر. اشعارات محفزة عند قضاء كل يو

null 24 Dec 30, 2022
A fully-customizable weightlifting tracking app.

BlockLifts Weightlifting App A fully-customizable weightlifting tracking app and my introduction to Dart/Flutter. Features Create an unlimited amount

Jake 2 Jan 9, 2023