Skip to content

Instantly share code, notes, and snippets.

@ben-gy
Created April 23, 2019 03:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ben-gy/6129674a43d7b06a29e2fedeede0a678 to your computer and use it in GitHub Desktop.
Save ben-gy/6129674a43d7b06a29e2fedeede0a678 to your computer and use it in GitHub Desktop.
This is a copy of the gemfile for a social network that I'm building
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.0'
# ++ Back-end infrastructure
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails'
# Use pg as the database for Active Record
gem 'pg', '~> 0.18'
# Use Puma as the app server
gem 'puma'
# Use Redis adapter to run Action Cable in production
gem 'redis'
# Use AWS S3 for file storage
gem 'aws-sdk-s3', require: false
# Use SendGrid for transactional emails
gem 'sendgrid-ruby'
# Application performance monitoring
gem 'newrelic_rpm'
# Bug and exception tracking
gem 'sentry-raven'
# Add Elasticsearch for searching
gem 'searchkick'
# Increase JSON generation performance
gem 'oj'
# Increase persistent HTTP connection perforance
gem 'typhoeus'
# Auto-suggesting to add indices
gem 'pg_query'
# Sanitise PII out of Rails logs
gem 'logstop'
# Anonymize IP addresses
gem 'ip_anonymizer'
# rate limitting
gem 'rack-attack'
# ++ Engines
# GDPR policy management
gem 'gdpr_rails', github: 'ben-gy/gdpr_rails'
# Search analytics tracking
gem 'searchjoy'
# Insight into user behaviour
gem 'notable'
# Performance monitoring for postgres
gem 'pghero'
# Business Intelligence
gem 'blazer'
# ++ Back-end libraries
# Use devise for user model managment
gem 'devise'
# Simplify markup for forms
gem 'simple_form'
# Making objects taggable
gem 'acts-as-taggable-on'
# Geocoder for converting locations into data
gem 'geocoder'
# Friendly ID for good URLs
gem 'friendly_id'
# Powerful analytics
gem 'ahoy_matey'
# Enable following and liking
gem 'acts_as_votable'
# Easy pagination
gem 'will_paginate'
# Use Pundit for authorisation
gem 'pundit'
# Use groupify to manage groups
gem 'groupify', github: 'dwbutler/groupify', branch: 'fix/rails5-named-groups'
# Use browser to determine device/browser type for user
gem 'browser'
# Kaminari for pagination
gem 'kaminari'
# Devise login tracking
gem 'authtrail'
# Email analytics
gem 'ahoy_email'
# Centralise some config stuff
gem 'config'
# Natural language date/time parsing
gem 'chronic'
# Click to edit functionality
gem 'dynaspan', github: 'ben-gy/dynaspan'
# Payment infrastrucure
gem 'stripe'
# unique id generation
gem 'hashid-rails'
# Easier front-end cookie management
gem 'js_cookie_rails'
# Customer engagement
gem 'intercom-rails'
# Cocoon for nested forms
gem 'cocoon'
# Pretend to be a user
gem 'pretender'
# ++ Front-end infrastructure
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', require: false
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks'
# JQuery for Rails
gem 'jquery-rails'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails'
# Use SCSS for stylesheets
gem 'sassc-rails'
# Slim templating language
gem 'slim-rails'
# Normalise browser style rendering
gem 'normalize-rails'
# Add vendor prefixes to CSS
gem 'autoprefixer-rails'
# Wrapper for the flexbox grid system
gem 'flexbox_rb'
# ++ Front-end libraries
# Beautifull responsive carousel slider
gem 'owlcarousel-rails'
# Interactive Vector maps
gem 'jvectormap-rails'
# Client-side form validations
gem 'client_side_validations'
gem 'client_side_validations-simple_form'
# Autosize textarea as you type
gem 'autosize'
# Use keyboard shortcuts
gem 'mousetrap-rails'
# Clever dropdowns
gem 'selectize-rails'
# +++ Development & tests
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
gem 'web-console'
gem 'listen'
# 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'
# Environment variable management
gem 'figaro'
# Letter opener to intercept an open emails
gem 'letter_opener'
# Static analysis tool
gem 'brakeman'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara'
gem 'selenium-webdriver'
# Easy installation and use of webdrivers to run system tests with Chrome
gem 'webdrivers'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment