Skip to content

nicksergeant/leather

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Leather

A modern money management app written in Elixir, Phoenix, React, and Redux. Integrates with Plaid for auto-importing of transactions from thousands of banks and bank account types (checking, savings, investments, etc.)

Follow @leatherapp on Twitter 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/.

With Plaid integration:

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

export PLAID_CLIENT_ID=<plaid-client-id>
export PLAID_PUBLIC_KEY=<plaid-public-key>
export PLAID_SECRET=<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

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="<your-domain>"

Manual deploy to Heroku

  1. heroku create <app-name>
  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="<generated-key-in-previous-step>"
  8. heroku domains:add <your-domain>
  9. heroku config:set HOSTNAME="<your-domain>"
  10. heroku config:set GZIP_ENABLED="true"

Integration with Plaid

  1. heroku config:set PLAID_CLIENT_ID='<plaid-client-id>'
  2. heroku config:set PLAID_PUBLIC_KEY='<plaid-public-key>'
  3. heroku config:set PLAID_SECRET='<plaid-secret>'

Releases

No releases published

Packages

No packages published