CamBank is a personal finance web application


Install
pip install cambank==2.3.8

Documentation

What is CamBank
===============

CamBank is a web-based personal finance manager application.

* You create a set of budgets (electricity bill, taxes, fuel, etc.) with an informative target amount
* You define how much of your salary should automatically go into these budgets
* When the salary comes, you can refine exactly how much goes where, because each month is different
* And when the expenses come, you assign them to the respective budgets to consume the money

Advantages:

* Rapid view of your money and alignment with upcoming big expenses (like annual income tax)
* Simple view of all your budget
* Not complex like most of the other financial apps
* Expenses can be split across multiple budgets
* Support statements files (CSV, QIF, OFX) from your bank + Manual addition


How to use it
=============

Requirements:
- a PostgreSQL database
- a web server able to run python3 cgi scripts
  or a Docker server

Dependencies (Python modules):
- psycopg2 >= 2.7.4
- camlib >= 0.0.1
- ofxtools >= 0.5 (only for importing OFX bank statements)

Dependencies for the API (Python modules):
The API is not used yet, so no need to install the deps.
- flask
- flask_restful


Run Cambank with Docker
=======================
FIXME: Installation guide not ready yet.
Please follow instructions below (how to test) to start a demo CamBank on a Docker-enabled machine.



#######################
### DEVELOPER GUIDE ###
#######################

How to test CamBank
===================

On a machine with docker daemon ready:

 curl -L https://s3.amazonaws.com/downloads.wercker.com/cli/stable/darwin_amd64/wercker -o /usr/local/bin/wercker
 chmod +x /usr/local/bin/wercker
 git clone https://github.com/camillehuot/cambank.git
 wercker dev --expose-ports

this will launch a container with a postgresql server
and a container running CamBank

CamBank is accessible at http://localhost/index.cgi
Login/password is cambank/toto


How to run the unit tests
=========================

wercker build


Optional - test the API
=======================

*BROKEN*
in the wercker file, comment http.server and uncomment cambankapi

source files can then be modified and wercker will reload them on the fly
api is available at http://localhost:5000/budgets/
no api authorisation yet


Optional - Run test manually
============================

- Launch wercker dev --expose-ports
- "docker ps" to get the name of the container
- docker exec -it wercker-pipeline-75349698-b091-4dff-b2ee-7556c8c809b2 /bin/bash
- cd /pipeline/source
- sh test/run_tests.sh


Optional - Run index.cgi manually
=================================

/pipeline/source/htdocs # export HTTP_AUTHORIZATION="Basic Y2FtYmFuazp0b3RvCg=="
/pipeline/source/htdocs # python3 index.cgi