personal expense application

Overview

myExpense 💵

Personal web app expense application.

What is this sh*t? 🤔

This code is part of myExpense application, an Expense and Income tracker.

The intent behind this application is to create an expense application that can support multi currency, so we can utilise a single application to track our expense.

The code here is the front-end part of the myExpense which compiled and serve as web app.

What WEB APP? 😡

Yes web app, I knew a lot of people will say that Web App on Flutter is not "production" ready, but as this application is going to be used by my self only, so the liability of the bug free application is not really that demanding.

Thus, I can ensure you that this application most likely is sh*t one. I am not an expert in Flutter, and I can say that this is my first project that I create using Flutter, after trying them once or two on the early Flutter (and forget about it afterwards).

I was trying a lot of other framework (Ionic, Vue, React either with Onsen or Antd ) before decide to Flutter just because Flutter have Cupertino Date Time Picker (Antd also have, but I am not really good at reading chinese, so, Flutter it is), and I think my decision is correct one as I can focus on creating a simple UI without needed a hefty knowledge of design.

Note: The backend part of this application currently is not being open-source yet, but as the function of the application is simple enough, I think creating a backend application is not as hard nor as demanding also.

What is the Application looks like? 😎

Below is the screenshot of the application in action.

Login Page 🔑

Pin Page

This page will be showed if user setup PIN for their configuration. PIN is stored in a secured box using Hive.

Pin Page Pin Input

Home Page 🏠

Transaction List 📃

In transaction list page, you can navigate all your expense using Calendar.

Transaction List Table Calendar

If you click the Month and Year title on the AppBar it will showed the calendar for you to jump to distant date, instead navigating and scrolling one by one.

Click Appbar Navigate On Calendar Click OK

All the transaction being fetched from server will be cache on the local storage.

Statistics 📈

Summary Stats 📊

This page will showed you the summary of the all the account you have, how much income and expense (in total and in average) that you have on the current month.

Summary Stats Stats Bar Chart

You can navigate to the other month, either by click the month arrow on the header or by swiping left and right on the screen.

Detail Stats 🧿

You can also perform query of all your expense and income, based on currency, date, and account that you want to see the statistics.

To do this, you can click on the Pie Chart icon on the top right, and it will showed you the Filter Stats Page.

Filter By Month Filter By Year Filter By Custom

When you press the "Filter Statistics" button or the "Start" icon on the top right, it will send request to backend, and backend will perform calculation based on the filter statisctics given by user input. Once finished, it will be showed on the Detail Statistic Page.

Stats Income Stats Expense

If you clicked on the income/expense category it will showed you the detail transaction that you performed during the date that you input.

Budget 💯

In budget page, you can control the budget for specific category, and you can configure a different budget category for each currency that you have on your wallet.

The first page that will be showed on the budget page is the "default currency" budget that you can configure on the User page.

Here you can see how much is your expense related to the total budget, and each category to see which category is already passed the budget.

To select different currency, you can tap on the Currency Selection on the Budget Bar header, and it will showed you the list of currency that we have on our Wallet/Account.

When you click the expense category, you will directed to detail transaction for that expense category. In there you can see what is the detail of the expense you performed on that category.

To configure the expense category on the budget, you can click on the "Settings" icon on the top left. It will direct you to the Budget List page.

Budget List 📃

The page will listed all your budget list on the currency currently selected on the budget page. To add new category, you can press the Add Category button, to Edit the current expense category you can double tap the expense category, and once finished you can press the Save button on the top left.

Budget List Add New Budget Edit Budget

Account 🎫

In here you can see all your wallet/account, it will showed you the current balance of your wallet/account also.

Account List 📃

There are several action on the account that you can do, such as Edit, Disable, and Delete. You can do this by slide the account and it will give you the options.

The account that disabled will not going to be showed when you adding the transaction, or in the statistics pages. Account that disabled will be marked with dark grey color.

Account Detail

You can see the detail transaction of each account, by tap the account, and it will showed you the transaction that performed on that account on the current month.

Add Account

On the add account page, you can give the account name, account type, starting balance, and what is the currency of the account. You can also decide whether you want to include the account on the statistics computation or not, or whether the account already disabled or not?

Add Account Account Type Currency Type

Transaction 💸

When you adding/edit the transaction, you can choose either this 3 type of transaction:

  • Expense
  • Income
  • Transfer
Expense Income Transfer

Input Transaction 🔠

When you input the transaction, it will showed you custom Pin Pad that that also act as calculator, and you can choose the category, and date of the transaction. You can also define this transaction is performed on which account, and whether there are any description on the transaction or not. This Cupertino Date Time Picker is the first reason why I am choosing Flutter when I create this application.

Custom Calc Date Time Picker Account Selection Description

There are also "auto complete" feature during the transaction input, that will be generate based on the expense or income that you already performed. This will be only showed if only the virtual keyboard is being open on the screen.

When you perform Transfer, in case it have different currency, it will showed you the exchane rate box.

Transfer Same Currency Transfer Different Currency

Search 🔎

You can perform search on the transaction, and the result for the tranasction will be showed lazy loading, so we will not fetch too many data.

Search Fields Search Result

User Page 👤

The user configuration page, here you can configure all the default value.

  • Default Expense: Expense category that will be automatically populated during add expense transaction
  • Default Income: Income category that will be automatically populated during add income transaction
  • Default Budget Currency: Used on the budget page to showed which currency will be showed first
  • Default Wallet: Wallet/account that will be automatically populated during add expense/income/transfer transaction. In the transaction transaction the default wallet will be put on the "Transfer To"

Here you can also control whether you want to change your password, or enable/disable the PIN.

Run...Run...Run...

Before you press your F5, change the .dev.env files, so it will point to the correct backend-server.

Build It!

Use ./docker_build.sh to build the application for production.

It will clean your flutter project, perform pub get, and build it using main.prod.dart instead of main.dart.

The main.prod.dart will load the Production ENV Configuration file.

You might also like...

Personal Project Fall 2021 Competition

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

Dec 22, 2022

A simple personal health record app.

A simple personal health record app.

PHR A personal health record, you can record your weight, height, blood pressure, blood glucose to track your own health. TODO Mocup UI Data Model for

Dec 20, 2022

Releases for the Delta-y app: A scrum-inspired personal productivity app for data-nerds with goals

Releases for the Delta-y app: A scrum-inspired personal productivity app for data-nerds with goals

Delta-y Releases This repository contains the public releases for the Delta-y app, which is currently closed source. Resources delta-y-flyer.pdf Video

Dec 10, 2021

Finance App Flutter - Personal Finance app built with Flutter

Finance App Flutter - Personal Finance app built with Flutter

Finance_App_Flutter Aplicatico de Finanças Pessoais , com o intuito de prover maior controle financeiro para o usuário. Video Demonstrativo Finance Ap

Oct 31, 2022

Flutterprojects - Personal use.

Flutter相关项目 flutter_base_store 该项目是公司第三个flutter项目,已经完成了初步的搭建,正准备动手开发时突遭优化而难产的项目。在flutter的2.2.3版本以及2.5.0版本零警告(flutter_lints 1.0.4)。 flutter_useful 该项目是

Jan 7, 2022

Para-managment: The app is to monitor and manage your personal finance

Para-managment: The app is to monitor and manage your personal finance

Pare | پارە Pare App Demo The app is to monitor and manage your personal finance You have a category for each category you have category name, icon, a

Mar 20, 2022

💹 A flutter app that keeps track of your personal expenses and shows the last week's expenses.

💹 A flutter app that keeps track of your personal expenses and shows the last week's expenses.

💹 A flutter app that keeps track of your personal expenses and shows the last week's expenses.

Jun 2, 2022

This is application using Flutter for develop a trello application

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

Aug 16, 2022

GChat is a chatting application developed using Flutter(Dart) and firebase for 2 users. Trying to Develop an application that does not sell your data with whatsapp rolling out its privacy policy updates.

GChat is a chatting application developed using Flutter(Dart) and firebase for 2 users. Trying to Develop an application that does not sell your data with whatsapp rolling out its privacy policy updates.

Gchat - The Chatting Application A Flutter project for chatting. I used Android Studio and you can you any editor of your choice for ex: VS Code, Inte

Nov 6, 2022
Owner
I Gede Adi Martha
Curiosity is not kill the cat, curiosity causing you lack of sleep.
I Gede Adi Martha
The expense sharing app.

Tabs The expense sharing app -- made with Flutter, Firebase and ❤️ . Keep track of what your friends owe you for that pizza you agreed to split; or re

Michael Roudnitski 280 Nov 23, 2022
this app is allowing users to track expenses like accommodation, meal, travel expense, office supplies and other daily expenses.

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

null 0 Dec 25, 2021
A simple budgeting, expense, and income tracking app

Budgetrack A simple budgeting, expense, and income tracking app Backend This project includes a simple API server, written in Clojure, that stores fil

Darrell Brogdon 0 Jan 6, 2022
A new Flutter Application to control self build lamps for my personal use.

A new Flutter Application to control self build lamps for my personal use. You need extra hardware & software for getting this project running. This is just the code of the App.

null 1 Mar 2, 2022
📱🌦 Flutter application to display PWS (Personal Weather Station) data

PWSWatcher Why? PWSWatcher is an open-source Android app used to monitor a PWS (Personal Weather Station) given the link of its real-time updated .xml

Giorgio Bertolotti 17 Oct 13, 2022
A personal app to track and manage your expenses.

?? Batua ?? A Personal App to track and manage your expenses! Batua is the best money manager and daily expense tracker to automatically and securely

Pratyush M 45 Dec 22, 2022
Platform to post/say something without sharing personal information.

Anon is an Open Source Application where it's users will be able to share their thoughts without their identity being revealed i.e Anonymous. When the

Ismael Shakverdiev 18 Sep 13, 2022
About This is Personal Expenses Planner. You can add your expenses in to the app and manage your transaction. and you can see How much did you spend on which day. I developed this project using flutter.

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

Darshit Rudani 5 Jul 6, 2022
A mobile image uploader in which you can upload image to your personal gallery from either your camera or mobile gallery and it can detect your current geographic location and address using firebase firestore and storage.

Image Uploader In Flutter About It is an Image Uploader gallery which tracks your address from which you're uploading using Flutter and Image picker.

Prahen parija 6 Dec 20, 2022
A flutter app to store personal information about accesses, usernames and passwords

pass_reminder My very first Flutter project. An app to store personal information about accesses, usernames and passwords. Personal use only. Images A

Igor Ribeiro Silva 0 Oct 24, 2021