Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nicksergeant/leather

💰 A super fast money management app.
https://github.com/nicksergeant/leather

elixir money-manager phoenix plaid react redux

Last synced: 28 days ago
JSON representation

💰 A super fast money management app.

Awesome Lists containing this project

README

        

# Leather

A modern money management app written in [Elixir](https://elixir-lang.org/),
[Phoenix](http://www.phoenixframework.org/),
[React](https://facebook.github.io/react/), and [Redux](http://redux.js.org/).
Integrates with [Plaid](https://plaid.com/) for auto-importing of transactions
from thousands of banks and bank account types (checking, savings, investments,
etc.)

Follow [@leatherapp on Twitter](https://twitter.com/leatherapp) for updates.

#### Screenshot:

## Run locally

1. `brew install elixir postgresql`
2. `brew services start postgresql`
3. `createuser leather --createdb`
4. `git clone [email protected]:nicksergeant/leather.git`
5. `cd leather`
6. `mix ecto.create`
7. `mix phoenix.server`
8. Visit [http://localhost:4000/](http://localhost:4000/).

**With [Plaid](https://plaid.com/) integration:**

Create a `.env` file in the root of the project with the following contents:

```
export PLAID_CLIENT_ID=
export PLAID_PUBLIC_KEY=
export PLAID_SECRET=
```

Then run `source .env && mix phoenix.server`.

## Automatic deploy to Heroku

You can click the button below to automatically deploy Leather to Heroku.

[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/nicksergeant/leather)

#### Important!

If you intend to use this instance securely, you must set the `HOSTNAME` environment variable so that WebSocket connections are restricted to your domain:

`heroku config:set HOSTNAME=""`

## Manual deploy to Heroku

1. `heroku create `
2. `heroku buildpacks:set https://github.com/HashNuke/heroku-buildpack-elixir`
3. `heroku buildpacks:add https://github.com/gjaldon/heroku-buildpack-phoenix-static`
4. `heroku addons:create heroku-postgresql:hobby-dev`
5. `heroku config:set POOL_SIZE="18"`
6. `mix phoenix.gen.secret`
7. `heroku config:set SECRET_KEY_BASE=""`
8. `heroku domains:add `
9. `heroku config:set HOSTNAME=""`
10. `heroku config:set GZIP_ENABLED="true"`

## Integration with [Plaid](https://plaid.com/)

1. `heroku config:set PLAID_CLIENT_ID=''`
2. `heroku config:set PLAID_PUBLIC_KEY=''`
3. `heroku config:set PLAID_SECRET=''`