{"id":13878229,"url":"https://github.com/ryanckulp/speedrail","last_synced_at":"2025-04-12T09:29:22.571Z","repository":{"id":1384366,"uuid":"41269856","full_name":"ryanckulp/speedrail","owner":"ryanckulp","description":"Rails 8 app template: Devise auth, Stripe billing, Tailwind CSS, admin panel, SEO helpers, etc","archived":false,"fork":false,"pushed_at":"2025-02-24T10:06:11.000Z","size":917,"stargazers_count":263,"open_issues_count":14,"forks_count":37,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-03T11:09:02.863Z","etag":null,"topics":["mvp-template","rails","rails-template","rails8","ruby-on-rails-template"],"latest_commit_sha":null,"homepage":"https://founderhacker.com/24-hour-mvp","language":"Ruby","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/ryanckulp.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-23T22:22:51.000Z","updated_at":"2025-03-28T08:07:49.000Z","dependencies_parsed_at":"2023-12-28T21:25:12.889Z","dependency_job_id":"f847500e-4d1f-458d-9119-1c7ea3cf61b1","html_url":"https://github.com/ryanckulp/speedrail","commit_stats":{"total_commits":327,"total_committers":11,"mean_commits":"29.727272727272727","dds":"0.35779816513761464","last_synced_commit":"e18fd13bc20a103c7a4a95ded31786f0b20773b6"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanckulp%2Fspeedrail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanckulp%2Fspeedrail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanckulp%2Fspeedrail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanckulp%2Fspeedrail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanckulp","download_url":"https://codeload.github.com/ryanckulp/speedrail/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248545758,"owners_count":21122216,"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":["mvp-template","rails","rails-template","rails8","ruby-on-rails-template"],"created_at":"2024-08-06T08:01:43.334Z","updated_at":"2025-04-12T09:29:22.539Z","avatar_url":"https://github.com/ryanckulp.png","language":"Ruby","readme":"# Speedrail\na Rails 8 template by [@ryanckulp](https://twitter.com/ryanckulp), created to ship SaaS apps quickly. \n\nlearn to build 3 projects with Speedrail at [24 Hour MVP](https://founderhacker.com/24-hour-mvp), or check out the [premium documentation](https://gitpaywall.com/p/ryanckulp/speedrail-docs).\n\n**Speedrail features**\n* rich text blog CMS\n* embedded subscription payment portal via [Stripe Checkout](https://docs.stripe.com/payments/accept-a-payment?platform=web\u0026ui=embedded-form)\n* built-in referral marketing via [Rewardful](https://www.rewardful.com/?via=speedrail)\n* admin panel with Tailwind CSS via [Active Admin](https://github.com/activeadmin/activeadmin/)\n* user authentication via [Devise](https://github.com/plataformatec/devise)\n* A/B testing with [Split](https://github.com/splitrb/split/)\n* design via [Flowbite](https://flowbite.com/) and [Tailwind UI](https://tailwindui.com/)\n* SEO toolbelt via [metamagic](https://github.com/lassebunk/metamagic)\n* responsive and mobile friendly navigation\n* beautiful code coverage GUI via [SimpleCov](https://github.com/simplecov-ruby/simplecov) and [TailwindCov](https://github.com/chiefpansancolt/simplecov-tailwindcss)\n* rename your app in 1 command with [Rename](https://github.com/get/Rename)\n* debugging with [Better Errors](https://github.com/charliesome/better_errors)\n* production-ready DB with Postgres\n* easy API requests with [HTTParty](https://github.com/jnunemaker/httparty)\n* Postmark for transactional emails, [letter_opener](https://github.com/ryanb/letter_opener) for local preview\n* script tag GUI (for Google Analytics, etc)\n* testing suite via [RSpec](https://github.com/rspec/rspec-rails/)\n* cron job task scheduler (`lib/tasks/scheduler.rake`)\n* random data generation with [Faker](https://github.com/faker-ruby/faker)\n* Heroku \u003c\u003e Cloudflare HTTPS via `lib/cloudflare_proxy.rb`\n* background job queue via [Delayed](https://rubygems.org/gems/delayed)\n* interactive charts via [Chartkick](https://chartkick.com)\n* automated testing via GitHub actions + PR status check\n* Rubocop for code style enforcement and linting auto-fixes\n\n## Installation\n1. clone the repo\n2. `speedrail/bin/speedrail new_app_name`\n3. inspect, then save/close the generated credentials file\n4. `cd new_app_name`\n\n**For detailed, step by step tutorials to using Speedrail, get lifetime access to the [Speedrail Docs](https://gitpaywall.com/p/ryanckulp/speedrail-docs) for a one-time fee of $49.**\n\n## Development\n```sh\nbin/dev # uses foreman to boot server, frontend, and bg job queue\n```\n\nTo sync your project with the latest Speedrail improvements:\n\n```sh\n# one time only\ngit remote add speedrail https://github.com/ryanckulp/speedrail.git\n\n# when you notice Speedrail updates on GitHub\ngit pull\ngit fetch speedrail\ngit merge speedrail/master --allow-unrelated-histories\ngit checkout -b speedrail_updates\ngit add .\ngit push speedrail_updates\n# use GitHub UI to handle conflicts\n```\n\n## Testing\n```sh\n# headless\nbundle exec rspec # run all tests inside spec/\nbundle exec rspec spec/dir_name # run all tests inside given directory\n\n# headed (in a real browser)\nHEADED=TRUE bundle exec rspec\n```\n\n## Code Quality\n\nclean code keeps projects manageable as they grow in complexity.\n\n```sh\nrubocop # checks your code against Ruby styling standards and calls out issues\nrubocop -A # automatically fixes issues, can lead to false negatives\nrubocop -a # automatically fixes \"safe\" issues, less aggressive than -A (uppercase)\n```\n\n**Rubocop is an optional feature**, however it runs automatically during GitHub CI checks. if you don't want to enforce the Rubocop style guide, simply disable the `Rubocop Check` step inside `ci.yml`.\n\n## Contributing\nanyone is welcome to submit a PR with improvements of any kind.\n","funding_links":[],"categories":["Ruby","Boilerplates \u0026 UI Kits"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanckulp%2Fspeedrail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanckulp%2Fspeedrail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanckulp%2Fspeedrail/lists"}