Skip to content
Flask web application that tracks expenses
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
expense
screenshots
.gitignore
readme.md
run.py
sample_config.py

readme.md

Expense

A web application that tracks expenses.

Screenshot

Usage

Requirements

  • flask
  • flask-login
  • flask-wtf
  • flask-sqlalchemy
  • ldap3
  • regex
  • requests
  • sqlalchemy

Configuration

You'll need to create a config.py file, which specifies details such as which LDAP server to use. A sample configuration file can be found at sample_config.py.

You will also need to sign up for an account at Fixer.io, which handles currency conversions. Once you've done so, add your API key to config.py.

Starting the Server

Start the server with run.py. By default it will be accessible at localhost:9999. To make the server world-accessible or for other options, see run.py -h.

If you're having trouble configuring your sever, I wrote a blog post explaining how you can get Flask, uWSGI, and Nginx working together.

Bugs and Feature Requests

Feature Requests

  • Invalid currencies should display warning to user as well as to console
  • Error messages should have better debugging information (error type, stack trace)
  • Error messages should be non-interrupting and auto-dismissing (then we can have success messages, too)
  • Implement controller.save_csv

Known Bugs

  • Adding/editing seems to be broken on Edge (name, value, and note are not passed)
  • Because of the way information is sent via GET requests, it's impossible remove recurrence from an item (because it requires setting the value to "")

Special Thanks

Currency conversion provided by Fixer.io.

License Information

Written by Gem Newman. Website | GitHub | Twitter

This work is licensed under Creative Commons BY-SA 4.0.

JQuery and JQuery UI elements included under the MIT "Expat" License.

Remember: GitHub is not my CV.

You can’t perform that action at this time.