Skip to content

Commit

Permalink
v2.0.0 (#66)
Browse files Browse the repository at this point in the history
* 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 <christopher.nash@ldschurch.org>

* 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 <ert.mcscrad@gmail.com>

* 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 <keanulee517@gmail.com>
Co-authored-by: Christopher Nash <Zeustopher@users.noreply.github.com>
Co-authored-by: Christopher Nash <christopher.nash@ldschurch.org>
Co-authored-by: Stefan Wojcik <yawhide@users.noreply.github.com>
Co-authored-by: yawhide <ert.mcscrad@gmail.com>
  • Loading branch information
6 people committed Aug 17, 2020
1 parent ec9f907 commit 817d059
Show file tree
Hide file tree
Showing 75 changed files with 2,960 additions and 2,281 deletions.
29 changes: 0 additions & 29 deletions .circleci/config.yml

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/fetch.yml
@@ -0,0 +1,33 @@
name: Fetch

on:
push:
branches: [ master, release/2.0.0 ]

pull_request:
branches: [ master, release/2.0.0 ]

# schedule:
# - cron: '0 * * * *'

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.x, 14.x]

env:
MINTABLE_CONFIG: ${{ secrets.MINTABLE_CONFIG }}

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm run build
- run: node ./lib/scripts/cli.js fetch --ci
25 changes: 25 additions & 0 deletions .github/workflows/test.yml
@@ -0,0 +1,25 @@
name: Test

on:
push:
branches: [ master, release/2.0.0 ]
pull_request:
branches: [ master, release/2.0.0 ]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [12.x, 14.x]

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm test
12 changes: 9 additions & 3 deletions .gitignore
@@ -1,10 +1,16 @@
.DS_Store
.env
.next
*/.next

build/
lib/

mintable.config.json
mintable.sandbox.json
node_modules
mintable.jsonc

node_modules/
package-lock.json
yarn-error.log
yarn.lock
.next
*/.next
2 changes: 1 addition & 1 deletion .prettierrc
@@ -1,5 +1,5 @@
{
"tabWidth": 2,
"tabWidth": 4,
"semi": false,
"singleQuote": true,
"jsxSingleQuote": true,
Expand Down
5 changes: 0 additions & 5 deletions .travis.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .vscode/launch.json

This file was deleted.

92 changes: 47 additions & 45 deletions README.md
@@ -1,74 +1,76 @@
<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>
<h4 align="center"><img width="100" src="./docs/img/icon.png" alt="Mintable"></h4>
<h1 align="center" style="font-weight: 500; font-size: 60px !important; border-bottom: 0 !important;">Mintable</h1>

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

## Quickstart
<br>

**Prerequisites:** `node` (tested `v11.6.0`), `yarn` (tested `v1.10.0`)
Mintable helps you:

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.
2. Link your accounts and a spreadsheet to Mintable. Run these commands to walk through the setup:
- Keep track of your account balances
- Aggregate transactions from all your banking institutions, including checking accounts, savings accounts, and credit cards
- Analyze and budget your spending using a spreadsheet and formulas

```bash
git clone https://github.com/kevinschaich/mintable.git
cd mintable
yarn
yarn setup
```
![](./docs/img/mintable.png)

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

```
yarn mintable
```
[![](https://img.shields.io/travis/com/kevinschaich/mintable/master.svg)](https://travis-ci.com/kevinschaich/mintable)
[![](https://img.shields.io/github/release/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/releases)
[![](https://img.shields.io/github/license/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/blob/master/LICENSE)
[![](https://img.shields.io/github/issues/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/issues)
[![](https://img.shields.io/github/issues-pr/kevinschaich/mintable.svg)](https://github.com/kevinschaich/mintable/pulls)
[![](https://img.shields.io/reddit/subreddit-subscribers/Mintable?style=social)](https://reddit.com/r/Mintable)

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

## Overview
## Quickstart

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

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

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

## Features
```
mintable fetch
```

- Locally hosted, open-source, 100% free, ad-free, no personal data tracking, no data stored by Mintable on central servers
- Integrates with your financial institutions for fully-automated spreadsheet updates
- Web based setup wizard and configuration framework:
> **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).
![Setup Wizard](./src/static/setup.png)
## Documentation

You can see a full list of options in the **[Config Docs](./docs/CONFIG.md)**.
Check out the full documentation [in the `./docs` folder](./docs/README.md).

## FAQs

**It's not working / I'm having trouble / I need help**
**WTF is 'Mintable'?!**

- [File an issue](https://github.com/kevinschaich/mintable/issues) or reach out on our [Reddit community](https://www.reddit.com/r/Mintable/).
> **min·ta·ble**: _noun._
> 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).
**How is this different from [build-your-own-mint](https://github.com/yyx990803/build-your-own-mint)?**
**Do I have to use Plaid?**

- **[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.
- **[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.
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.

**Do I have to give my data to Plaid and Google? Are there any completely self-hosted alternatives I can use?**
**Do I have to use Google Sheets?**

- It's [pluggable](./docs/PROVIDERS.md)! Plaid & Google Sheets are working right now – contributions are welcome for [other providers](./docs/PROVIDERS.md)!
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.

**Do I have to manually run this every time I want new transactions in my spreadsheet?**

- You can **[Automate Updates with a CI Provider](./docs/CONFIG.md#automate-updates-with-a-ci-provider)** to get free, automated updates!
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).

**It's not working!**

- [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).

## Credits
## Alternatives

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).
- [**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).
- [**Mint**](https://www.mint.com/): Owned by Intuit (TurboTax). Apps for iOS/Android/Web.
- [**build-your-own-mint**](https://github.com/yyx990803/build-your-own-mint): Some assembly required. More flexible.

0 comments on commit 817d059

Please sign in to comment.