a Rails 7 template by @ryanckulp, created to ship SaaS apps quickly.
learn to build 3 projects with Secretgardens at 24 Hour MVP, or check out the premium documentation.
Secretgardens features
- rich text blog CMS
- embedded subscription payment portal via Stripe Checkout
- built-in referral marketing via Rewardful
- admin panel with Tailwind CSS via Active Admin
- user authentication via Devise
- A/B testing with Split
- design via Flowbite and Tailwind UI
- SEO toolbelt via metamagic
- responsive and mobile friendly navigation
- beautiful code coverage GUI via SimpleCov and TailwindCov
- rename your app in 1 command with Rename
- debugging with Better Errors
- production-ready DB with Postgres
- easy API requests with HTTParty
- Postmark for transactional emails, letter_opener for local preview
- script tag GUI (for Google Analytics, etc)
- testing suite via RSpec
- cron job task scheduler (
lib/tasks/scheduler.rake
) - random data generation with Faker
- Heroku <> Cloudflare HTTPS via
lib/cloudflare_proxy.rb
- background job queue via Delayed
- interactive charts via Chartkick
- automated testing via GitHub actions + PR status check
- Rubocop for code style enforcement and linting auto-fixes
- clone the repo
speedrail/bin/speedrail new_app_name
- inspect, then save/close the generated credentials file
cd new_app_name
For detailed, step by step tutorials to using Secretgardens, get lifetime access to the Secretgardens Docs for a one-time fee of $49.
bin/dev # uses foreman to boot server, frontend, and bg job queue
To sync your project with the latest Secretgardens improvements:
# one time only
git remote add speedrail https://github.com/ryanckulp/speedrail.git
# when you notice Secretgardens updates on GitHub
git pull
git fetch speedrail
git merge speedrail/master --allow-unrelated-histories
git checkout -b speedrail_updates
git add .
git push speedrail_updates
# use GitHub UI to handle conflicts
# headless
bundle exec rspec # run all tests inside spec/
bundle exec rspec spec/dir_name # run all tests inside given directory
# headed (in a real browser)
HEADED=TRUE bundle exec rspec
clean code keeps projects manageable as they grow in complexity.
rubocop # checks your code against Ruby styling standards and calls out issues
rubocop -A # automatically fixes issues, can lead to false negatives
rubocop -a # automatically fixes "safe" issues, less aggressive than -A (uppercase)
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
.
anyone is welcome to submit a PR with improvements of any kind.