0.1.25 ā€¢ Published 3 years ago

beanni v0.1.25

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Beanni

Your friendly Australian bean-counter, Beanni.

npm npm GitHub contributors Build Status

By @mjhilton and @tathamoddie.

Beanni helps gather financial data from all of your various providers, institutions, and banks. Having all of this cached in a local database allows you to do deeper analysis than typical online banking tools would allow, such as spend-by-merchant stats, or net-worth trends.

Beanni is just a local helper, on your own machine. You're not sharing your passwords with us, or anybody else. You're not reverse engineering your bank. Beanni is just a robot that's really fast at clicking the same transaction export buttons that you would otherwise have to click manually.

Usage

First Run

Get started in minutes:

StepRunWhy
1.https://nodejs.org/en/download/Beanni is built on Node.js
2.node --versionMake sure you're on Node ā‰„10.13.0
3.npm --versionMake sure you're on NPM ā‰„6.8.0
4.mkdir beanni cd beanniCreate a local folder where config and data will be stored
5.npm install beanniInstall Beanni into this folder
6.npx beanni initCreate an example config.yaml
7.Edit config.yamlAdd your own banking relationships
8.npx beanni fetchGrab your data
9.npx beanni exploreLaunch the analysis UI

šŸ’” Be careful with npm vs npx in some of those commands; they look very similar at a glance.

Ongoing Usage

In future:

StepRunWhy
1.npm update beanniUpdate Beanni to the latest version
2.npx beanni fetchGrab your data
3.npx beanni exploreLaunch the analysis UI

Uninstall

  1. Delete the local working folder (the database contains bank account numbers and financial data)
  2. Remove secrets from your operating system's credential store
    • Windows:
      1. Win > credential manager
      2. Windows Credentials
      3. Generic Credentials
      4. Look for anything that starts with Beanni:
    • MacOS: Keychain

Security, by design

Execution Environment

Beanni all runs locally on your own machine, or your own hosting. There are no shared web services in play.

Secret Storage

Secrets are kept out of configuration files entirely, by design.

Secrets are stored in your operating system's credential store (Credential Manager on Windows, or Keychain on MacOS). We use keytar to do this, which is built and maintained by the Atom project.

Dependency Supply Chain

Our dependency supply chain is the biggest risk. We've been careful to keep our package.json dependencies list short, and highly trustworthy:

PackageWeekly Package DownloadsKnown/Trusted Maintainer
commander>15M
express>5M
inquirer~10M
js-yaml>10M
keytar>20kAtom
lodash>15M
pug>300k
puppeteer>500kGoogle Chrome
request~15M
sqlite>20k
ts-node>1M

It would be very visible if any of these packages, or their dependencies, were to be compromised.

You can compare this table with https://www.npmjs.com/package/beanni (NPM's view of Beanni's dependencies, based on the package we publish), or https://github.com/beanni/beanni/network/dependencies (GitHub's view of Beanni's dependencies, based on what's in source control).

We use Dependabot to ensure we adopt updates to these dependencies as fast as possible. It's a busy little bot.

Development

Ubuntu Dependencies

Run it locally

  1. Clone
  2. npm install
  3. One of:
    • VS Code > Ctrl+F5
    • npx ts-node ./src/app.ts --help

To release (if you have the rights): 1. Clean git context 1. npm version major|minor|patch 1. npm pack 1. Validate the file list. āš  Make sure config.yaml or other dev-local files aren't in there. 1. npm publish ./beanni-x.x.xx.tgz 1. git push 1. git push --tags

0.1.25

3 years ago

0.1.22

4 years ago

0.1.23

4 years ago

0.1.24

4 years ago

0.1.21

4 years ago

0.1.20

5 years ago

0.1.19

5 years ago

0.1.18

5 years ago

0.1.17

5 years ago

0.1.16

5 years ago

0.1.15

5 years ago

0.1.14

5 years ago

0.1.13

5 years ago

0.1.12

5 years ago

0.1.11

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago