Limestone screenshot

Limestone

Author Avatar Theme by Archonic
Updated: 14 Mar 2023
232 Stars

Boilerplate Rails 6 SaaS application with Webpack, Stimulus and Docker integration.

Categories

Overview

Limestone is a boilerplate SaaS app built with Rails 6 on Ruby 2.7.2. It includes an opinionated integration with NPM using Webpacker and Stimulus. The gemset of Limestone has been chosen to be modern, performant, and take care of a number of business concerns common to SaaS.

Features

  • Free trial begins upon registration without credit card. Number of days is configurable with ENV var.
  • Subscription management: Card update form, switch plan form, and cancel account button.
  • Devise confirmable installed and configured.
  • Emails for welcome, receipt, refund, subscription renewing, and payment action required.
  • letter_opener and letter_opener_web installed and configured. Visit /admin/letter_opener in development to see emails sent.
  • Mail sends through Sidekiq with deliver_later for production. Sendgrid is configured and ready to use once your API keys are set in ENV.
  • Direct cloud uploading with ActiveStorage. Lazy transform for resizing. Demonstrated with user avatars.
  • Icon helper for user avatars with fallback to user initials. Icon helper for Font Awesome 4.7 icons.
  • Administrate dashboard lets you CRUD records. Easy to add more models and customize as you like. Visit /admin/.
  • Impersonate users through Administrate dashboard.
  • Pretty modals using Bootstrap integrated into rails_ujs data-confirm. Demonstrated with cancel account button.
  • Banner with a link to billing page for users that are past due.
  • Opinionated search integration using Elasticsearch via Searchkick. Gem is in place, but integration is up to you.
  • Feature control using the Flipper gem. Demonstrated with the public_registration feature.
  • 84% RSpec test coverage.
  • Solargraph (language server for code-aware auto-completions) configured in docker-compose.yml. Just point to localhost:7658 in your solargraph extension in your code editor.

Installation

To install Limestone, you will need to follow these steps:

  1. Install Docker and Docker Compose.
  2. Create a Stripe account and obtain a Stripe API Key.
  3. Set up Codeship or CircleCI files for integration.
  4. Make sure your product prices have trial days > 0 to avoid errors.

To run tests locally, use the command docker-compose run web rspec.

Summary

Limestone is a powerful boilerplate SaaS app built with Rails 6. It provides a range of features to handle subscription management, email notifications, user authentication, and more. With its modern gemset and opinionated integration, Limestone offers developers a solid foundation for building SaaS applications.