Created
February 7, 2018 14:07
-
-
Save richjdsmith/ffe718d649ddfc9ce42294781e747db2 to your computer and use it in GitHub Desktop.
5.2 Rails Gem List for SaaS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source 'https://rubygems.org' | |
git_source(:github) { |repo| "https://github.com/#{repo}.git" } | |
ruby '2.5.0' | |
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' | |
gem 'rails', '~> 5.2.0.rc1' | |
# Use postgresql as the database for Active Record | |
gem 'pg', '>= 0.18', '< 2.0' | |
# Use Puma as the app server | |
gem 'puma', '~> 3.11' | |
# Use SCSS for stylesheets | |
gem 'sass-rails', '~> 5.0' | |
# Use Uglifier as compressor for JavaScript assets | |
gem 'uglifier', '>= 1.3.0' | |
# See https://github.com/rails/execjs#readme for more supported runtimes | |
# gem 'mini_racer', platforms: :ruby | |
# Use CoffeeScript for .coffee assets and views | |
gem 'coffee-rails', '~> 4.2' | |
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks | |
gem 'turbolinks', '~> 5' | |
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder | |
gem 'jbuilder', '~> 2.5' | |
# Use Redis adapter to run Action Cable in production | |
gem 'redis', '~> 4.0' | |
# Use ActiveModel has_secure_password | |
# gem 'bcrypt', '~> 3.1.7' | |
# Something JS related - internationalization | |
gem 'rails-i18n', '~> 5.0.0' # For 5.0.x and 5.1.x | |
# Jquery - from Saas book | |
gem 'jquery-rails' | |
# Help handle State management - from saas book | |
gem 'aasm' | |
# LoDash is helpful in adding enumerable functions to javascript and in your case CoffeeScript. - from saas book | |
gem 'lodash-rails' | |
# This is a gem that includes a view helper and | |
# javascript helper to display relative time (i.e. ‘updated 2 minutes ago’) - from saas book | |
gem 'local_time' | |
# AUTHENTICATION and Users | |
# Devise is an Auth library | |
gem 'devise' | |
gem 'devise_invitable' | |
# Rolify allows us to assign roles such as User or Admin | |
gem 'rolify' | |
# CanCanCan allows us to take those roles and apply autho- rization policies. | |
gem 'cancancan', '~> 2.0' | |
# Allow us to set up audit logs on particular models | |
gem 'paper_trail' | |
# Allows quick ordering and sorting of sibling elements. | |
gem 'ranked-model' | |
# Bulma baby! | |
gem "bulma-rails", "~> 0.6.2" | |
# Custom admin theme for bootstrap | |
gem "font-awesome-rails" | |
# Used to obfuscate the auto-incremented primary ID used in rails objects from the URL | |
gem 'friendly_id', '~> 5.2.3' | |
# Simple, efficient background processing for Ruby | |
gem 'sidekiq' | |
gem 'sinatra', github: 'sinatra/sinatra', require: nil | |
gem 'sidekiq-statistic' | |
# A configurable and documented Rail view helper for adding gravatars into your Rails application | |
gem 'gravatar_image_tag' | |
# Gemification of rails's country_select | |
gem 'country_select' | |
# This gem handles pagination and it’s edge cases. | |
gem 'kaminari' | |
gem 'bootstrap4-kaminari-views' | |
# Combined these two gems will allow us to upload assets such as avatar images through your application into AWS S3. | |
gem 'paperclip' | |
# AWS helper | |
gem 'aws-sdk', '~> 3' | |
# This will help standardize around common issues found when calculating money as well well providing a few template helpers | |
gem 'money-rails' | |
# A search abstraction that will allow us to create simple forms that can search through tables. Such as a search form on a users index page. | |
gem 'ransack' | |
# COMMUNICATION | |
# A simple wrapper for posting to slack channels | |
gem 'slack-notifier' | |
# This helps with CSS inclusion into mail templates. Helps with gmail fucking things up. | |
gem 'premailer-rails' | |
# This tool allows us to parse email received through a mail sending API. | |
gem 'griddler' | |
gem 'griddler-mailgun' | |
# This gema llows us to send exceptions to a third-party exception aggregator. | |
gem 'rollbar' | |
# Use ActiveStorage variant | |
# gem 'mini_magick', '~> 4.8' | |
# Use Capistrano for deployment | |
# gem 'capistrano-rails', group: :development | |
# Reduces boot times through caching; required in config/boot.rb | |
gem 'bootsnap', '>= 1.1.0', require: false | |
# TESTING | |
# Preselected testing suite best suited for me. | |
group :development, :test do | |
gem 'rspec-rails', '~> 3.7' | |
gem 'factory_bot_rails' | |
# Call 'byebug' anywhere in the code to stop execution and get a debugger console | |
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] | |
end | |
gem 'simplecov', :require => false, :group => :test | |
group :development do | |
# This gem will open mail in the browser instead of at- tempting to send mail in the development environment. | |
gem "letter_opener" | |
# Access an interactive console on exception pages or by calling 'console' anywhere in the code. | |
gem 'web-console', '>= 3.3.0' | |
gem 'listen', '>= 3.0.5', '< 3.2' | |
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring | |
gem 'spring' | |
gem 'spring-watcher-listen', '~> 2.0.0' | |
gem 'capybara' | |
end | |
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem | |
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] | |
# This gem will help set up CORS rules. | |
# This will be of use if accessing JSON requests from domains that are not the current Rails’ app configured domain name. | |
gem 'rack-cors', :require => 'rack/cors' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment