Collects your bank transaction details and exports the data to a CSV file or Google sheet along with the transaction category (Food, Entertainment, e.t.c).
Why Bank Me?
- Good for budgeting by using past spending patterns to budget for the future
- Up to 24 months of data in the same spreadsheet for easy access
- Look at categories you spend a lot and work on cutting or spending more
- It's DATA!!!
For this project to work in its entirety, you need a plaid account which is free and a service account from Google Cloud to create a headless user that can access your Google Sheet.
- Create a
.envfile from the
.env-samplefile (or add the env to Config Var sections of host services)
- Add the plaid keys to the
- You can choose to use an online datastore, I used Firebase in this project for data persistence or save data locally (see StorageService under services).
- Create a google cloud project (It's free), enable the Drive API from API & Services.
- Create a JSON service account credential at least editor access, save it to config/service_account.json in the project directory for dev or on host for production
Get it up and running
npm installin both server and root directories
- To run the project, a simple
npm run runwill run the server and "frontend".
- The first time you link a bank account, the access key will be stored locally (see BankingService).
Export Transactions - How it works
A new sheet is created for each month, if the sheet for the month already exists, the transactions are just appended on the newest row. You can run the export transactions multiple times and it would not override existing tx on the sheet (good for if you add custom stuff).
There's a general sheet that has all the months dumped in it, in the future there'll probable be options to export to different file types like CSV.
ng serve for a dev server. Navigate to
http://localhost:4200/. The app will automatically reload if you change any of the source files.
ng build to build the project. The build artifacts will be stored in the
dist/ directory. Use the
--prod flag for a production build.
- Export bank statement to CSV
- View account balance from UI
- View and Filter transactions by date range
- Filter transactions by type
- Add visual representation of tx
- Beautify the Google sheet (maybe, I mean who cares?!)
- Actual business name for tx names (crap's ugly)
- Bitcoin - 16xLHT2K3aQgxBFEAFXyb9ji5HsoZG76d7
- Ether - 0x75ac2D75F68C90Ca5667d73ed214925a68fE3f53
- Litecoin - LXAKso9VAmfB8jvZb5d3k86vY6hHFFV1Qe
To get more help on the Angular CLI use
ng help or go check out the Angular CLI README.