Skip to content

Commit 817d059

Browse files
kevinschaichkeanuleeZeustopherchristopher-nashyawhide
authored
v2.0.0 (#66)
* Huge cleanup – remove all the crap from web config framework * TypeScript proposal for v2.0.0 config * TypeScript proposal for v2.0.0 config * Cleanup * Types, configuration, validation, and logging * Configuration Framework for Google and Plaid * Cleanup old files * Configuration Framework for Google and Plaid * Add compile & lint tests to Travis * Accidentally committed build files * Fix TypeScript build directory * Plaid add account finally working * Save Plaid access token to config file * Clarify return types * Preliminary transaction fetching for Plaid * Dynamic integration setup * Integration contribution stub points * Setup for transactions working * Transaction + Account schema * Transactions working 100% * Clean up add account flow for Plaid * Half of googleIntegration rewritten * Plaid -> Google Sheets Working * Google Sheets Transaction Sheets Working * Friendly Error Message Reporting * 2.0.0 readme * 2.0.0 readme * 2.0.0 readme * 2.0.0 readme * 2.0.0 readme * 2.0.0 readme * 2.0.0 readme * More streamlined add/update flow for Plaid * Migrate to CLI in favor of package.json scripts * release * release * Sweet ASCII art * 2.0.0 release docs * 2.0.0 release docs * 2.0.0 release docs * Delete integrations.md * 2.0.0 release docs * 2.0.0 release docs * 2.0.0 release docs * 2.0.0 release docs * 2.0.0 release docs * 2.0.0 release docs * Fix paths for CLI script * Patches for 2.0 (#59) * Restructure project for /lib CLI * Update README.md * Fix paths for config validation * Asynchronous execution of setup commands * Fix linter formatting * Prerelease Beta Version * Prerelease Beta Version * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Pre-Release * Fix sorting sheets * Fix sorting sheets * Fix sorting sheets * Update default columns to match v1.x.x * Add files via upload * Update README.md * Fix #67 - Confirm config overwrite during setup process (#74) * Fix account page not refreshing after Plaid completion/exit (#76) * Release 2.0.0-beta.32 * Fix error when could not find template sheet title (#77) * CSV Importer (#80) * CSV Importer * CSV Importer * CSV Importer * CSV Importer * v2.0.0-beta.34 * Apple Card / BitBar Integration * Apple Card / BitBar Integration * Apple Card / BitBar Integration * Apple Card / BitBar Integration * Update README.md * Add files via upload * Fix – template sheet issues + `promise.all` not executing asynchronously (#83) * Fix – template sheet issues + not executing asynchronously * Plaid Integration Fix * Plaid Integration Fix * 2.0.0-beta.35 * Lots of polish on the account setup page (#84) * 2.0.0-beta.36 * Add docs folder to NPM package * Added Discover Card CSV Import Template (#86) Discover Card's statements are available to download as a CSV at https://card.discover.com/cardmembersvcs/statements/app/activity#/current Co-authored-by: Christopher Nash <[email protected]> * CSV Importer: Clean up amounts + allow concatenating multiple columns * Update README.md * Create Chase CSV Template * Update README.md * Chase CSV Template * American Express CSV Template * Docs for CSV Import * Fix for sheets not sorting correctly * Update and rename test-commit.yml to test.yml * Create fetch.yml * Update fetch.yml * Update fetch.yml * Update fetch.yml * Update fetch.yml * Update fetch.yml * Update fetch.yml * Update fetch.yml * Fix for CI * Update fetch.yml * Fix for CI * Fix for CI * Fix for CI * Fix for CI * Fix for CI * Fix for CI * Fix for CI * GitHub Actions Schedule * GitHub Actions + Cron Guides * Docs fix * Better BitBar instructions * Add files via upload * Delete bitbar.png * Add files via upload * Bitbar image * Bitbar image * Update README.md * Readme polish * Readme polish * Readme polish * Readme polish * Readme polish * Readme polish * 2.0.0-beta.40 * Add Rogers Bank Credit Card transaction template (#87) Rogers bank is a canadian bank that offers credit cards to canadians. https://rogersbank.com Co-authored-by: yawhide <[email protected]> * Feature/csv export (#89) * CSV Exporter + docs * docs folder cleanup * README links updates * README polish * README polish * README polish * README polish * README polish * Docs Polish * CSV Export Integration * README polish * README polish * Minor correction to Export Types * Import typo * 2.0.0-beta.41 * Update README.md * 2.0.0-beta.42 * Log Redaction for CI Builds (#94) * Test log redaction * Test log redaction * Test log redaction * Test log redaction * Test log redaction * Test log redaction * Formatting * 2.0.0-beta.43 * Transaction filters & overrides (#96) * Transaction filters & overrides * Cleanup * Docs for Transaction Filters & Overrides * Consolidate filters/overrides into one set of rules * Formatting * 2.0.0-beta.45 - stringify using jsonc instead of JSON * CSV Import small fixes * Upgrade to Plaid Link Tokens (#102) * Add migration warning * Add migration warning * Add migration warning * Upgrade to Plaid Link Tokens * Upgrade to Plaid Link Tokens * Fix for account removals * 2.0.0-beta.47 Co-authored-by: Keanu Lee <[email protected]> Co-authored-by: Christopher Nash <[email protected]> Co-authored-by: Christopher Nash <[email protected]> Co-authored-by: Stefan Wojcik <[email protected]> Co-authored-by: yawhide <[email protected]>
1 parent ec9f907 commit 817d059

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2960
-2281
lines changed

Diff for: .circleci/config.yml

-29
This file was deleted.

Diff for: .github/workflows/fetch.yml

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Fetch
2+
3+
on:
4+
push:
5+
branches: [ master, release/2.0.0 ]
6+
7+
pull_request:
8+
branches: [ master, release/2.0.0 ]
9+
10+
# schedule:
11+
# - cron: '0 * * * *'
12+
13+
jobs:
14+
build:
15+
16+
runs-on: ubuntu-latest
17+
18+
strategy:
19+
matrix:
20+
node-version: [12.x, 14.x]
21+
22+
env:
23+
MINTABLE_CONFIG: ${{ secrets.MINTABLE_CONFIG }}
24+
25+
steps:
26+
- uses: actions/checkout@v2
27+
- name: Use Node.js ${{ matrix.node-version }}
28+
uses: actions/setup-node@v1
29+
with:
30+
node-version: ${{ matrix.node-version }}
31+
- run: npm install
32+
- run: npm run build
33+
- run: node ./lib/scripts/cli.js fetch --ci

Diff for: .github/workflows/test.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Test
2+
3+
on:
4+
push:
5+
branches: [ master, release/2.0.0 ]
6+
pull_request:
7+
branches: [ master, release/2.0.0 ]
8+
9+
jobs:
10+
build:
11+
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
node-version: [12.x, 14.x]
17+
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Use Node.js ${{ matrix.node-version }}
21+
uses: actions/setup-node@v1
22+
with:
23+
node-version: ${{ matrix.node-version }}
24+
- run: npm install
25+
- run: npm test

Diff for: .gitignore

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
.DS_Store
22
.env
3-
.next
4-
*/.next
3+
4+
build/
5+
lib/
6+
57
mintable.config.json
68
mintable.sandbox.json
7-
node_modules
9+
mintable.jsonc
10+
11+
node_modules/
812
package-lock.json
913
yarn-error.log
1014
yarn.lock
15+
.next
16+
*/.next

Diff for: .prettierrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"tabWidth": 2,
2+
"tabWidth": 4,
33
"semi": false,
44
"singleQuote": true,
55
"jsxSingleQuote": true,

Diff for: .travis.yml

-5
This file was deleted.

Diff for: .vscode/launch.json

-14
This file was deleted.

Diff for: README.md

+47-45
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,76 @@
1-
<h4 align="center"><img width="200" src="./src/static/logo.png" alt="Mintable"><h4 align="center">Roll your own ad-free Mint clone for managing personal finances using publicly available APIs.</h4><br></h4>
1+
<h4 align="center"><img width="100" src="./docs/img/icon.png" alt="Mintable"></h4>
2+
<h1 align="center" style="font-weight: 500; font-size: 60px !important; border-bottom: 0 !important;">Mintable</h1>
23

3-
[![](https://img.shields.io/travis/com/kevinschaich/mintable/master.svg)](https://travis-ci.com/kevinschaich/mintable)
4-
[![](https://img.shields.io/github/release/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/releases)
5-
[![](https://img.shields.io/github/license/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/blob/master/LICENSE)
6-
[![](https://img.shields.io/github/contributors/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/graphs/contributors)
7-
[![](https://img.shields.io/github/issues/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/issues)
8-
[![](https://img.shields.io/github/issues-pr/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/pulls)
9-
[![](https://img.shields.io/reddit/subreddit-subscribers/Mintable?style=social)](https://reddit.com/r/Mintable)
4+
<h4 align="center">Automate your personal finances – for free, with no ads, and no data collection.</h4>
105

11-
## Quickstart
6+
<br>
127

13-
**Prerequisites:** `node` (tested `v11.6.0`), `yarn` (tested `v1.10.0`)
8+
Mintable helps you:
149

15-
1. If you plan on using Plaid to fetch account data, [sign up](https://dashboard.plaid.com/signup) for an account and [apply for the development plan](https://plaid.com/pricing/). It usually takes them 1-2 business days to approve this request.
16-
2. Link your accounts and a spreadsheet to Mintable. Run these commands to walk through the setup:
10+
- Keep track of your account balances
11+
- Aggregate transactions from all your banking institutions, including checking accounts, savings accounts, and credit cards
12+
- Analyze and budget your spending using a spreadsheet and formulas
1713

18-
```bash
19-
git clone https://github.com/kevinschaich/mintable.git
20-
cd mintable
21-
yarn
22-
yarn setup
23-
```
14+
![](./docs/img/mintable.png)
2415

25-
3. After completing the setup, run the following at any time to populate updated data into your spreadsheet:
16+
<br>
2617

27-
```
28-
yarn mintable
29-
```
18+
[![](https://img.shields.io/travis/com/kevinschaich/mintable/master.svg)](https://travis-ci.com/kevinschaich/mintable)
19+
[![](https://img.shields.io/github/release/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/releases)
20+
[![](https://img.shields.io/github/license/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/blob/master/LICENSE)
21+
[![](https://img.shields.io/github/issues/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/issues)
22+
[![](https://img.shields.io/github/issues-pr/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/pulls)
23+
[![](https://img.shields.io/reddit/subreddit-subscribers/Mintable?style=social)](https://reddit.com/r/Mintable)
3024

31-
> **Note**: If you started using Mintable before `v1.0.0`, you can run `yarn migrate` to migrate to the new web-based configuration framework.
25+
---
3226

33-
## Overview
27+
## Quickstart
3428

35-
![Mintable](./src/static/mintable.png)
29+
1. Sign up for [Plaid's Free Plan](https://plaid.com/pricing/).
30+
2. Install Mintable:
3631

37-
Mintable simplifies managing your finances, for free, without ads, and without tracking your information. Here's how it works:
32+
```bash
33+
npm install -g mintable
34+
mintable setup
35+
```
3836

39-
1. You connect your accounts and a spreadsheet to Mintable.
40-
1. Mintable integrates with financial institutions to automatically populate transactions in your spreadsheet.
41-
1. You can add whatever formulas, charts, or calculations you want (just like a normal spreadsheet). We also have templates to get you started.
37+
3. Update your account balances/transactions:
4238

43-
## Features
39+
```
40+
mintable fetch
41+
```
4442

45-
- Locally hosted, open-source, 100% free, ad-free, no personal data tracking, no data stored by Mintable on central servers
46-
- Integrates with your financial institutions for fully-automated spreadsheet updates
47-
- Web based setup wizard and configuration framework:
43+
> **Note:** If you're already a version `1.x.x` user, you can [migrate your existing configuration to version `2.x.x`](./docs/README.md#migrating-from-v1xx).
4844
49-
![Setup Wizard](./src/static/setup.png)
45+
## Documentation
5046
51-
You can see a full list of options in the **[Config Docs](./docs/CONFIG.md)**.
47+
Check out the full documentation [in the `./docs` folder](./docs/README.md).
5248
5349
## FAQs
5450
55-
**It's not working / I'm having trouble / I need help**
51+
**WTF is 'Mintable'?!**
5652
57-
- [File an issue](https://github.com/kevinschaich/mintable/issues) or reach out on our [Reddit community](https://www.reddit.com/r/Mintable/).
53+
> **min·ta·ble**: _noun._
54+
> 1. An open-source tool to automate your personal finances – for free, with no ads, and no data collection. Derived from *mint* (the [wildly popular personal finance app from Intuit](https://www.mint.com/)) + *table* (a spreadsheet).
5855
59-
**How is this different from [build-your-own-mint](https://github.com/yyx990803/build-your-own-mint)?**
56+
**Do I have to use Plaid?**
6057
61-
- **[build-your-own-mint](https://github.com/yyx990803/build-your-own-mint)** is a set of scripts which solely facilitates the integration between Plaid and Google Sheets. It makes no assumptions about what you want your spreadsheet to look like, and you have to define your own logic to map transactions to spreadsheet updates.
62-
- **[Mintable](#)** is and end-to-end system that works out of the box. It comes with a setup wizard, a web-based configuration server, [pluggable providers](./docs/PROVIDERS.md) (you're not limited to just Plaid & Google Sheets), and a spreadsheet template.
58+
Nope. You can [import transactions from a CSV bank statement](./docs/README.md#manually--on-your-local-machine--via-csv-bank-statements) exclusively on your local machine. We also have [templates](./docs/templates) to get you started.
6359
64-
**Do I have to give my data to Plaid and Google? Are there any completely self-hosted alternatives I can use?**
60+
**Do I have to use Google Sheets?**
6561
66-
- It's [pluggable](./docs/PROVIDERS.md)! Plaid & Google Sheets are working right now – contributions are welcome for [other providers](./docs/PROVIDERS.md)!
62+
Nope. You can [export your account balances & transactions to a CSV file](./docs/README.md#on-your-local-machine--via-csv-files) exclusively on your local machine.
6763
6864
**Do I have to manually run this every time I want new transactions in my spreadsheet?**
6965
70-
- You can **[Automate Updates with a CI Provider](./docs/CONFIG.md#automate-updates-with-a-ci-provider)** to get free, automated updates!
66+
Nope. You can automate it for free using [BitBar](./docs/README.md#automatically-in-your-macs-menu-bar--via-bitbar), [`cron`](./docs/README.md#automatically-in-your-local-machines-terminal--via-cron), or [GitHub Actions](./docs/README#automatically-in-the-cloud--via-github-actions).
67+
68+
**It's not working!**
69+
70+
- [File an issue](https://github.com/kevinschaich/mintable/issues) or [![](https://img.shields.io/reddit/subreddit-subscribers/Mintable?style=social)](https://reddit.com/r/Mintable).
7171

72-
## Credits
72+
## Alternatives
7373

74-
Mintable initially started as a fork of [Evan You](https://github.com/yyx990803)'s [build-your-own-mint](https://github.com/yyx990803/build-your-own-mint).
74+
- [**Money in Excel**](https://www.microsoft.com/en-us/microsoft-365/blog/2020/06/15/introducing-money-excel-easier-manage-finances/): Recently announced partnership between Microsoft/Plaid. Requires a Microsoft 365 subscription ($70+/year).
75+
- [**Mint**](https://www.mint.com/): Owned by Intuit (TurboTax). Apps for iOS/Android/Web.
76+
- [**build-your-own-mint**](https://github.com/yyx990803/build-your-own-mint): Some assembly required. More flexible.

0 commit comments

Comments
 (0)