Skip to content
/ Spent Public
forked from emilydowgialo/Spent

Budget tracking and money management web app

Notifications You must be signed in to change notification settings

leemoh/Spent

 
 

Repository files navigation

Spent

Summary

Spent is a practical and versatile budget tracking and money management app, offering users an easy-to-read visualization of their finances and a detailed log of their spending habits. With Spent, users can create budgets, set spending goals, and store information about recent purchases.

About the Developer

Spent was created by Emily Dowgialo. Learn more about the developer on LinkedIn.

Technologies

Tech Stack:

  • Python
  • Flask
  • SQLAlchemy
  • Jinja2
  • HTML
  • CSS
  • Javascript
  • JQuery
  • AJAX
  • JSON
  • Bootstrap
  • Python unittest module
  • Google Maps API
  • Shippo API

Spent is an app built on a Flask server with a PostgreSQL database, with SQLAlchemy as the ORM. The front end templating uses Jinja2, the HTML was built using Bootstrap, and the Javascript uses JQuery and AJAX to interact with the backend. The graphs are rendered using Chart.js. The map is built using the Google Maps API, which works in tandem with the Shippo package tracking API. Server routes are tested using the Python unittest module.

Features

alt text

The interactive dashboard features graphs, which segment the user’s expenditures into categories, and auto-updating widgets, which illustrate spending metrics and statistics. The user enters budgets for categories along with a date range that is used to display spending stats over that particular time period.

The bar graph and the donut chart show stats based on the user's spending habits within the last 30 days. The bar graph shows the average amount spent per category, while the donut chart displays the total amount spent.

alt text

The Budget Remaining widget's progress bars graphically represent the remaining money in the user's budget. Two more widgets display the average and total amounts spent per category within the specified date range. Everything on the dashboard updates in real time as the user adds a new budget or a new expenditure.

alt text

Spent's dynamic package tracking feature monitors online purchases, which displays the last place a package was scanned, its delivery status, and plots its current location on a map. When the user saves a new purchase, they are given the option to input tracking information. If the user has tracking information saved, a paper airplane icon is displayed next to the corresponding purchase, and the user simply has to click on the icon to track their package.

alt text

Spent is a one-page dashboard. There is beauty and functionality in simplicity, and the user's flow is kept direct and clean. The user inputs budget and expenditure information in modal window forms that do not take them away from the main dashboard, keeping the user experience focused.

alt text

For Version 2.0

  • More chart control: Ability to customize the categories and timeframes the charts display
  • Badges: Badges for certain milestones, such as staying under budget for a given period of time
  • Password hashing: Passwords will be hashed before being saved to the database

About

Budget tracking and money management web app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.0%
  • HTML 34.7%
  • JavaScript 12.8%
  • CSS 2.5%