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.
brew install elixir postgresql
brew services start postgresql
createuser leather --createdb
git clone [email protected]:nicksergeant/leather.git
cd leather
mix ecto.create
mix phoenix.server
- 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
.
You can click the button below to automatically deploy Leather to Heroku.
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>"
heroku create <app-name>
heroku buildpacks:set https://github.com/HashNuke/heroku-buildpack-elixir
heroku buildpacks:add https://github.com/gjaldon/heroku-buildpack-phoenix-static
heroku addons:create heroku-postgresql:hobby-dev
heroku config:set POOL_SIZE="18"
mix phoenix.gen.secret
heroku config:set SECRET_KEY_BASE="<generated-key-in-previous-step>"
heroku domains:add <your-domain>
heroku config:set HOSTNAME="<your-domain>"
heroku config:set GZIP_ENABLED="true"
Integration with Plaid
heroku config:set PLAID_CLIENT_ID='<plaid-client-id>'
heroku config:set PLAID_PUBLIC_KEY='<plaid-public-key>'
heroku config:set PLAID_SECRET='<plaid-secret>'