{"id":19338080,"url":"https://github.com/freerange/jam-coop","last_synced_at":"2025-05-08T21:17:46.974Z","repository":{"id":216797521,"uuid":"674418694","full_name":"freerange/jam-coop","owner":"freerange","description":"A platform co-operative for musicians and fans","archived":false,"fork":false,"pushed_at":"2025-05-08T15:21:39.000Z","size":3227,"stargazers_count":60,"open_issues_count":47,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-08T21:17:23.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jam.coop","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freerange.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-03T22:54:24.000Z","updated_at":"2025-05-03T12:28:11.000Z","dependencies_parsed_at":"2024-11-06T16:26:10.718Z","dependency_job_id":"7a897da6-049d-4f18-ad0d-79afee952cb7","html_url":"https://github.com/freerange/jam-coop","commit_stats":{"total_commits":538,"total_committers":5,"mean_commits":107.6,"dds":"0.28996282527881045","last_synced_commit":"e6559a0fef1636ace3538b8da183f43551c8c8b9"},"previous_names":["freerange/jam-coop"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freerange%2Fjam-coop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freerange%2Fjam-coop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freerange%2Fjam-coop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freerange%2Fjam-coop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freerange","download_url":"https://codeload.github.com/freerange/jam-coop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253149622,"owners_count":21861740,"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-10T03:16:17.503Z","updated_at":"2025-05-08T21:17:46.945Z","avatar_url":"https://github.com/freerange.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\n## Development\n\nThis is a Rails app running on the version of ruby specified in `.ruby-version`. If you're using `asdf` you can install the correct version of ruby locally with\n\n    asdf install\n\nWe're using PostgreSQL 15 in production, so it's recommended you run that in development too. On OS X you can use homebrew\n\n    brew install postgresql@15\n\nWe're using Rails 7's default image processor library `vips`, which you need to install\n\n    brew install libvips\n\nCopy the example `.env` file\n\n    cp `.env.example .env`\n\nFrom there proceed as usual for local rails app development\n\n    rails db:setup\n    ./bin/dev\n\nThe app should be running on [http://localhost:3000/](http://localhost:3000/)\n\n## Testing\n\nLinters and test can be run using the default `rake` task.\n\n## Credentials\n\nEnvironment specific API keys etc. are stored in environment variables. The file `.env.example` should be copied to `.env` so that `Dotenv` can find these in development. You may only need to set these to real values if you need a particular third party service for the code you're working on. For example, Rollbar credentials are only needed if for some reason you need to use rollbar in development.\n\n## Sending email in development\n\nIf you need to send email via Postmark in development you can set the `USE_POSTMARK_IN_DEVELOPMENT` variable to `true` in `.env`.\n\n## Using Stripe in development\n\nTo receive events from Stripe webhooks in your local environment you need to run the Stripe CLI with:\n\n    stripe listen --forward-to localhost:3000/stripe_webhook_events\n\nWhen you first run this command it will show a value for the \"webhook signing secret\". Copy this value and set `STRIPE_ENDPOINT_SECRET` to this value in your local `.env` file.\n\n## Deployment\n\nAll commits to `main` are deployed to [render](https://dashboard.render.com/) (the login credentials for which are available in 1P). They're not currently gated by the CI build that runs in a github action.\n\n## Troubleshooting\n\n### Generating image varients fails locally\n\nI saw this error locally on my M2 Macbook Air\n\n    [__NSCFConstantString initialize] may have been in progress in another thread when fork() was called\n\nThe [solution](https://dev.to/wusher/active-storage-variants-failing-locally-1glm) was to add the following to my `.zshrc`\n\n    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreerange%2Fjam-coop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreerange%2Fjam-coop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreerange%2Fjam-coop/lists"}