A Rails starter template
Amalgamated from BigBinary's Wheel, Thoughtbot's Suspenders and Upcase - with Stripe subscription billing out of the box.
- Uses Bootstrap
- rake setup to set sample data
- Default admin user:
[email protected]
with passwordwelcome
- Uses devise for authentication
- Oauth with Facebook, LinkedIn and Google preset - just add keys and secrets
- Heroku ready
- Full support for subscription billing with Stripe, including plans, trials, checkouts, cancellations, feature restriction, invoices and email notifications
- Uses modal box to showcase an example of editing information using modal box
- Enables strict mode for all JavaScript code
- Uses unicorn for staging and production
- Uses thin for development and test
- A ribbon at the top for non-production environment - green for development, orange for staging
- Uses haml for cleaner syntax over erb
- Uses Javascript instead of Coffeescript
- No Turbolinks
- Uses ActiveAdmin.
- Uses DelayedJob
- Intercepts all outgoing emails in non production environment using gem mail_interceptor
- Uses CircleCI for continuous testing
- Uses Coveralls for test coverage metrics
- Uses CodeClimate
- Uses Hound for automated style checking
- Uses Airbrake for error reporting
- Has a bunch of tests to make it easier to get started with new tests
- Uses PostgreSQL
- Support for Segment.io
- Support for Twilio
- Built in support for carrierwave to easily upload items to Amazon S3
- Built in support for "variants" so the pages can be customized for tablet or phone easily
- Uses simple_form
- Built in support for Mandrill
- Content compression via Rack::Deflater
bundle install
cp config/database.yml.postgresqlapp config/database.yml
rake setup
bundle exec rails server
Replace all occurrences of "Jumpstart" with your own project name.
Let's say that the project name is "Chainsaw". Execute the command below:
perl -e "s/Jumpstart/Chainsaw/g;" -pi $(find . -type f)
- Create Stripe Account
- Add test keys to
secrets.yml
- Create default plans:
- free
- lite
- standard
- professional
- team
- annual
- Add a test endpoint:
- Mode: test
- URL:
<staging-url>/stripe-webhook
- Events: Select Events
invoice.payment_succeeded
customer.subscription.updated
customer.subscription.deleted
- Add live keys as
ENV['STRIPE_PUBLISHABLE_KEY']
andENV['STRIPE_PUBLISHABLE_KEY']
on production deployment - Add a live endpoint with production url and mode:
live