{"id":13722399,"url":"https://github.com/nicksergeant/leather","last_synced_at":"2026-01-31T08:30:54.835Z","repository":{"id":43632865,"uuid":"98346186","full_name":"nicksergeant/leather","owner":"nicksergeant","description":"💰 A super fast money management app.","archived":false,"fork":false,"pushed_at":"2018-02-05T22:53:21.000Z","size":833,"stargazers_count":58,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-14T11:40:03.504Z","etag":null,"topics":["elixir","money-manager","phoenix","plaid","react","redux"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicksergeant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-25T20:15:05.000Z","updated_at":"2024-10-28T10:39:26.000Z","dependencies_parsed_at":"2022-09-10T18:31:56.009Z","dependency_job_id":null,"html_url":"https://github.com/nicksergeant/leather","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fleather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fleather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fleather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fleather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicksergeant","download_url":"https://codeload.github.com/nicksergeant/leather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252905527,"owners_count":21822821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","money-manager","phoenix","plaid","react","redux"],"created_at":"2024-08-03T01:01:28.282Z","updated_at":"2026-01-31T08:30:54.829Z","avatar_url":"https://github.com/nicksergeant.png","language":"Elixir","funding_links":[],"categories":["Elixir"],"sub_categories":["Phoenix"],"readme":"# Leather\n\nA modern money management app written in [Elixir](https://elixir-lang.org/),\n[Phoenix](http://www.phoenixframework.org/),\n[React](https://facebook.github.io/react/), and [Redux](http://redux.js.org/).\nIntegrates with [Plaid](https://plaid.com/) for auto-importing of transactions\nfrom thousands of banks and bank account types (checking, savings, investments,\netc.)\n\nFollow [@leatherapp on Twitter](https://twitter.com/leatherapp) for updates.\n\n#### Screenshot:\n\n\u003cimg src=\"https://leatherapp.s3.amazonaws.com/gh-screenshot.png\" width=700 /\u003e\n\n## Run locally\n\n1. `brew install elixir postgresql`\n2. `brew services start postgresql`\n3. `createuser leather --createdb`\n4. `git clone git@github.com:nicksergeant/leather.git`\n5. `cd leather`\n6. `mix ecto.create`\n7. `mix phoenix.server`\n8. Visit [http://localhost:4000/](http://localhost:4000/).\n\n**With [Plaid](https://plaid.com/) integration:**\n\nCreate a `.env` file in the root of the project with the following contents:\n\n```\nexport PLAID_CLIENT_ID=\u003cplaid-client-id\u003e\nexport PLAID_PUBLIC_KEY=\u003cplaid-public-key\u003e\nexport PLAID_SECRET=\u003cplaid-secret\u003e\n```\n\nThen run `source .env \u0026\u0026 mix phoenix.server`.\n\n## Automatic deploy to Heroku\n\nYou can click the button below to automatically deploy Leather to Heroku.\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/nicksergeant/leather)\n\n#### Important!\n\nIf you intend to use this instance securely, you must set the `HOSTNAME` environment variable so that WebSocket connections are restricted to your domain:\n\n`heroku config:set HOSTNAME=\"\u003cyour-domain\u003e\"`\n\n## Manual deploy to Heroku\n\n1. `heroku create \u003capp-name\u003e`\n2. `heroku buildpacks:set https://github.com/HashNuke/heroku-buildpack-elixir`\n3. `heroku buildpacks:add https://github.com/gjaldon/heroku-buildpack-phoenix-static`\n4. `heroku addons:create heroku-postgresql:hobby-dev`\n5. `heroku config:set POOL_SIZE=\"18\"`\n6. `mix phoenix.gen.secret`\n7. `heroku config:set SECRET_KEY_BASE=\"\u003cgenerated-key-in-previous-step\u003e\"`\n8. `heroku domains:add \u003cyour-domain\u003e`\n9. `heroku config:set HOSTNAME=\"\u003cyour-domain\u003e\"`\n10. `heroku config:set GZIP_ENABLED=\"true\"`\n\n## Integration with [Plaid](https://plaid.com/)\n\n1. `heroku config:set PLAID_CLIENT_ID='\u003cplaid-client-id\u003e'`\n2. `heroku config:set PLAID_PUBLIC_KEY='\u003cplaid-public-key\u003e'`\n3. `heroku config:set PLAID_SECRET='\u003cplaid-secret\u003e'`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicksergeant%2Fleather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicksergeant%2Fleather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicksergeant%2Fleather/lists"}