{"id":21840286,"url":"https://github.com/zapier/stripeboard","last_synced_at":"2025-04-14T10:51:28.130Z","repository":{"id":4334493,"uuid":"5470129","full_name":"zapier/stripeboard","owner":"zapier","description":"A simple Django app that collects and displays Stripe data.","archived":false,"fork":false,"pushed_at":"2017-08-10T18:49:06.000Z","size":350,"stargazers_count":122,"open_issues_count":0,"forks_count":13,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-28T00:04:55.190Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://board.zapier.com/","language":"JavaScript","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/zapier.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":"2012-08-19T10:32:58.000Z","updated_at":"2024-09-30T19:49:18.000Z","dependencies_parsed_at":"2022-09-24T15:22:52.874Z","dependency_job_id":null,"html_url":"https://github.com/zapier/stripeboard","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/zapier%2Fstripeboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fstripeboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fstripeboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fstripeboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapier","download_url":"https://codeload.github.com/zapier/stripeboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868846,"owners_count":21174754,"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":[],"created_at":"2024-11-27T21:25:31.520Z","updated_at":"2025-04-14T10:51:28.097Z","avatar_url":"https://github.com/zapier.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A simple Stripe Dashboard\n\nStripe is awesome. Metrics are awesome. So let's do this!\n\n## Try it.\n\nGo check out a live, working version with OAuth at [http://board.zapier.com/](http://board.zapier.com/). Your data is in cache and sticks around for 24 hours, then you'll need to refresh it (we do not refresh it for you automatically).\n\n*A sample dashboard for illustration.*\n\n![some made up numbers for example!](https://s3.amazonaws.com/zapierboard/img/stripeboard.png)\n\n### Heads up!\n\nTrying to distill this information from Stripe's API is actually a bit tricky since we don't have a history of logged events (and downloading your entire Stripe DB via their API is not cool). So, we do our best to approximate it with a mixture of current customer snapshots, subscription update and deleted events. If you have a clever way to do this better, [we want to see it added](https://github.com/zapier/stripeboard/pulls)!\n\n\n## Run it.\n\nWell, first you need a Stripe application. You can read about that at [https://stripe.com/docs/apps/oauth](https://stripe.com/docs/apps/oauth).\n\n\n### Heroku\n\nHeroku makes this easy if you follow the docs found at [https://devcenter.heroku.com/articles/django](https://devcenter.heroku.com/articles/django). Below are some of the fancier things you'll need to do first to get it running...\n\nYou'll need the Redis To Go addon in Heroku:\n\n```bash\n# free version\nheroku addons:add redistogo:nano\n```\n\nHere are some extra commands:\n\n```bash\n# your s3 config information\nheroku config:add AWS_ACCESS_KEY_ID=xxx\nheroku config:add AWS_SECRET_ACCESS_KEY=xxx\nheroku config:add AWS_STORAGE_BUCKET_NAME=xxx\n# a random secret key for django\nheroku config:add SECRET_KEY=xxx\n# the application's id \"ca_*\"\nheroku config:add STRIPE_CLIENT_ID=xxx\n# the account api key \"*\"\nheroku config:add STRIPE_CLIENT_SECRET=xxx\n```\n\nAnd don't forget to scale out at least one worker:\n\n```bash\n# will cost you money...\nheroku ps:scale celeryd=1\n```\n\n### Local\n\nBe sure to `pip install -r requirements.txt` and have Redis running locally.\n\nCreate a `settings_local.py` file like so:\n\n```python\nDEBUG = True\nTEMPLATE_DEBUG = DEBUG\n\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.sqlite3',\n        'NAME': 'stripeboard.sqlite',\n        'USER': '',\n        'PASSWORD': '',\n        'HOST': '',\n        'PORT': '',\n    }\n}\n\nBROKER_URL = 'redis://localhost:6379/0'\n\nCACHES = {\n    'default': {\n        'BACKEND': 'redis_cache.RedisCache',\n        'LOCATION': 'localhost:6379',\n        'OPTIONS': {\n            'DB': 0,\n            'PARSER_CLASS': 'redis.connection.HiredisParser'\n        },\n    }\n}\n\nSECRET_KEY = 'FILLMEIN!'\n\nMEDIA_URL = '/media/'\nSTATIC_URL = '/static/'\n\nSTRIPE_TEST_API_KEY = 'ONLYFORTESTS...'\n\nSTRIPE_CLIENT_ID = 'ASTRING' # the application's id \"ca_*\"\nSTRIPE_CLIENT_SECRET = 'ASTRING' # the account api key \"*\"\n```\n\nAnd run `foreman start` after doing all the standard `python manage.py syncdb` stuff.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fstripeboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapier%2Fstripeboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fstripeboard/lists"}