This is a wip project for creating a SaaS boilerplate/template application using Ruby on Rails.
Currently uses these gems: Tailwindcss, Devise, Rspec, standardrb, stripe
- User Login, Registration & Forgot Password functionality (via Devise gem)
- Stripe integration for basic monthly subscription tiers. Webhooks are supported. Uses Stripe customer portal for user subscription management
- Basic ticket system & help chat system (websocket supported via Turbo Streams)
- Notification system (websocket supported via Turbo streams)
- For linting, standardrb is used, use
standardrb
to run - RSpec is to be used for testing going forward, using
bundle exec rspec
. TODO: Controller tests to be migrated to rspec controller & feature tests - along with factories (using Factory Bot) instead of fixtures.
- Set up feature testing using Rspec
- Add SSO (via Devise)
- Setup basic admin functionality (subscription, ticketing)
- Setup basic isolated "apps" to share between users/teams
- Feature toggling
- You will need Ruby 3+ and Docker installed
- After cloning the repo, run
bundle install
inside the root folder to install the dependencies. - Next, run
docker-compose up
in the root folder to setup your local & test postgres dbs and redis. - Before migrating & seeding your database, you need to setup a Stripe account and obtain a test API key from the developers portal. Then set your env var, look at `config/initializers/stripe.rb`` for more info.
- You will need to migrate & seed your database using
rails db:setup
- Now run using
./bin/dev