Limestone Accounts screenshot

Limestone Accounts

Author Avatar Theme by Archonic
Updated: 9 Mar 2021
99 Stars

Boilerplate Rails 5.2 multitenant SaaS application with webpack and Docker integration. Billing is scoped to accounts.

Categories

Overview:

The Limestone Accounts is a boilerplate SaaS app built with Rails 5.2. It has an opinionated integration with NPM using Webpacker and Stimulus. The app is multitenant, meaning each account has one subscription and potentially many users through invitations.

Features:

  • Free trial begins upon registration without credit card.
  • Per-seat billing.
  • Subscription management.
  • Emails for welcome, billing updated, invoice paid, invoice failed, and trial expiring.
  • Invoice PDF attached to invoice paid email.
  • Mail sends through Sidekiq with deliver_later. Devise mailing also configured for Sidekiq dispatch.
  • Direct uploading to S3 with ActiveStorage. Lazy transform for resizing.
  • Icon helper for user avatars with fallback to user initials.
  • Administrate dashboard lets you manage records (ex: accounts, users, invoices). Easy to add more and customize as you like.
  • Impersonate users through administrate dashboard.
  • Pretty modals using bootstrap integrated into rails_ujs data-confirm. Demonstrated with cancel account button.
  • Persistent banner with link to billing page for accounts that are past due.
  • Opinionated search integration using Elasticsearch via Searchkick.
  • Feature control using the flipper gem. Demonstrated with public_registration.
  • Notifications with ActionCable.

Installation:

  1. Install Docker.
  2. Customize .env from .env-example.
  3. Run docker-compose run webpack yarn install --pure-lockfile to install all node modules.
  4. Run docker-compose up --build to create and run the various images, volumes, containers, and a network.
  5. Run docker-compose exec web rails db:setup to create DB, load schema, and seed. Seeding will also create your plan(s) in Stripe.
  6. Visit lvh.me:3000 to access the app.

Summary:

The Limestone Accounts is a feature-rich boilerplate SaaS app built with Rails 5.2. It offers multitenancy, subscription management, per-seat billing, email notifications, file uploads, search integration, and more. The app can be easily customized and extended based on specific requirements.