Skip to content

heyogrady/jumpstart

Repository files navigation

Jumpstart

A Rails starter template

Amalgamated from BigBinary's Wheel, Thoughtbot's Suspenders and Upcase - with Stripe subscription billing out of the box.

Circle CI

Code Climate

Coverage Status

Features

  • Uses Bootstrap
  • rake setup to set sample data
  • Default admin user: [email protected] with password welcome
  • 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

Setup

bundle install
cp config/database.yml.postgresqlapp config/database.yml
rake setup
bundle exec rails server

Replace Jumpstart with your project name

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)

Setup Stripe

  • 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'] and ENV['STRIPE_PUBLISHABLE_KEY'] on production deployment
  • Add a live endpoint with production url and mode: live

About

Rails starter template with Stripe integration

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages