Spending Tracker

Running instructions for your applications:

Install Python3 and pip3

Install postgreSQL

Install Flask: pip3 install flask

Install psycopg2: pip3 install psycopg2

Clone/download the project and navigate to that directory in your terminal client

Create the database:

createdb spending_tracker

Create the database table structure: psql -d spending_tracker -f db/spending_tracker.sql

Import the console data: python3 console.py

Start Flask in terminal:

flask run

Navigate to the site in your browser at http://localhost:5000

Brief:

Build an app that allows a user to track their spending.

MVP

  • The app should allow the user to create and edit merchants, e.g. Tesco, Amazon, ScotRail
  • The app should allow the user to create and edit tags for their spending, e.g. groceries, entertainment, transport
  • The user should be able to assign tags and merchants to a transaction, as well as an amount spent on each transaction.
  • The app should display all the transactions a user has made in a single view, with each transaction's amount, merchant and tag, and a total for all transactions.
Inspired by:

Monzo, MoneyDashboard, lots of mobile/online banking apps

Possible Extensions

  • The user should be able to mark Merchants and Tags as deactivated. Users will not be able to choose deactivated merchants/tags when creating a transaction.
  • Transactions should have a timestamp, and the user should be able to view transactions sorted by the time they took place.
  • The user should be able to supply a budget, and the app should alert the user somehow when when they are nearing this budget or have gone over it.
  • The user should be able to filter their view of transactions, for example, to view all transactions in a given month, or view all spending on groceries.

The technologies used:

Python 59.5% / HTML 27.7% / CSS 12.6% / Shell 0.2%