whahn1983 / pycashflow

Python Flask application for future cash flow calculation and management.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

pycashflow

Build Status Docker Pulls GitHub License

Python Flask application for future cash flow calculation and management.

  • Ability to set schedule of recurring expenses and income
  • Ability to manually set updated balance for the day
  • List upcoming transactions (expenses/incomes) for next 60 days
  • Hold transactions that have not yet posted on schedule
  • Skip a future transaction from the transactions table
  • Plot future cash flow out to up to 1 year
  • Enable reading emails via IMAP to search for balance alerts from bank to automatically update balance
  • User management with guest user access to view cash flow plot only
  • Import/Export CSV of the schedule table

screenshot


For Docker Support:

https://hub.docker.com/r/whahn1983/pycashflow

docker pull whahn1983/pycashflow:latest
docker run -d -p 127.0.0.1:5000:5000 -v /mnt/data:/app/app/data --restart always --pull always --name pycashflow whahn1983/pycashflow:latest

For proper date management for the calculations, consider mounting the correct local time with

-v /etc/localtime:/etc/localtime:ro

Also consider mounting the Flask Migrate folder to save your database migration files with

-v /mnt/migrations:/app/migrations


For manual Installation:

To install, clone the git repo onto your server. Leverage a WSGI server, like waitress or gunicorn, to run the flask application. Optionally leverage a reverse proxy with Apache or Nginx to the WSGI server. To support automatic database migrations, run flask-migrate commands to generate an initial version configuration. For the automatic balance updates with email, set up cron to execute getemail.py on a regular schedule. Ensure your email account is properly configured under Profile in the flask application.

To update, pull the latest version from git. If database changes were necessary, leverage flask-migrate commands to migrate and update your database. Restart the service.



Built with:

PyCharm logo.

About

Python Flask application for future cash flow calculation and management.

License:GNU General Public License v3.0


Languages

Language:HTML 48.6%Language:Python 44.7%Language:CSS 5.2%Language:Dockerfile 0.5%Language:Mako 0.5%Language:JavaScript 0.3%Language:Shell 0.3%