Skip to content

Crude web app to enter transactions into 'Budget with Buckets' files.

License

Notifications You must be signed in to change notification settings

jjohnson338/bread-bucket

 
 

Repository files navigation

Docker Hub Badge

bread-bucket

bread-bucket tool logo

Crude web app to enter transactions into 'Budget with Buckets' files. Purpose of this app is to enter transactions on the mobile phone while on-the-go. This was hacked together to work with a buckets file synced via Synology Drive and a container running on the same Synology device, but it should work with other cloud storage or a different setup altogether.

This is work in progress, needs a lot of polish.

Screenshot

More available in the wiki

Usage

The app is published as a container at cmeury/bread-bucket. Run it as follows. Ensure the source=${HOME}/SynologyDrive/Budget.buckets argument is customized to your setup. Either you share the buckets file using a cloud data store such as Dropbox, Synology Drive, iCloud, etc. and then run the app on a server that also has a local copy of the file, or you just run the application on your device where you also run the Budget with Buckets app.

docker run -it --publish 5000:5000 \
               --mount type=bind,source=${HOME}/SynologyDrive/Budget.buckets,target=/app/db.buckets \
               cmeury/bread-bucket:latest

The container can be customized using the following environment variables:

  • DB_FILE: absolute path to buckets data file (default: /app/db.buckets)
  • HTTP_BASIC_AUTH_USERNAME: username for basic auth (default: buckets)
  • HTTP_BASIC_AUTH_PASSWORD: password for basic auth (default: dev)

In any case, you need to make the web service available to the outside if you plan on using it on the go, as it is intended. Setup for this various a lot depending on your individual configuration. Example setups for both Synology and unRaid are included in the Wiki.

Development

Install node packages:

npm install

Generate CSS file and copy third-party Javascript to the static dir:

npm run web-build

Watch for changes:

npm start

Create the virtual environment and start the flask app:

python3 -m venv venv
pip3 install -r requirements.txt
python3 -m flask run --host=0.0.0.0

Build and Publish Container Image

To build the container:

npm run docker-build

To push the container to Docker Hub:

npm run docker-push

About

Crude web app to enter transactions into 'Budget with Buckets' files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 32.4%
  • JavaScript 27.6%
  • Python 26.5%
  • SCSS 12.9%
  • Dockerfile 0.6%