LoginSignup
30
29

More than 5 years have passed since last update.

Rails4 + turbolinksで作ったサービスのGemfileを公開します

Posted at

個人的に作っていたサービスを無事公開することができたので、Gemfileを公開します。

Puhaar! - お酒を共有するサイト -
http://puhaar.jp

開発の背景についてはこちらのブログエントリを見ていただければ幸いです。

【Rails4】turbolinks使って新規サービス作ってみた - 海苔座布団日記
http://norizabuton.hateblo.jp/entry/2014/10/08/072724

Gemfile
source 'https://rubygems.org'

gem 'rails', '4.1.6'
gem 'pg', '~> 0.17.1'
gem 'turbolinks'
gem 'jquery-turbolinks', '~> 2.0.2' # $(document).readyを発火させる
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0'
gem 'acts-as-taggable-on', '~> 3.3.0' # タグ機能
gem 'dotenv-rails' # 環境変数管理
gem 'kaminari', '~> 0.16.1'
gem 'draper', '~> 1.3.1' # Decorator層を追加する
gem 'amazon-ecs', '~> 2.2.4' # Amazonアソシエイト
gem 'rails_admin', '~> 0.6.3' # 管理画面
gem 'activerecord-reputation-system', github: 'NARKOZ/activerecord-reputation-system', branch: 'rails4' # いいね実装(PRが通ったら本家に戻す)
gem 'newrelic_rpm' # サーバ監視
gem 'google-analytics-turbolinks' # Googleアナリティクスをturbolinksに対応させる
gem 'nprogress-rails' # プログレスバー
gem 'resque', '~> 1.25.0', require: 'resque/server' # バックグラウンドジョブ
gem 'exception_notification', '~> 4.0.1' # 例外通知

# assets
gem 'sass-rails', '~> 4.0.3'
gem 'bootstrap-sass', '~> 3.2.0'
gem 'compass-rails', '~> 2.0.0'
gem 'bootswatch-rails', '~> 3.2.0'
gem 'font-awesome-rails', '~> 4.1.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'haml-rails', '~> 0.5.3'
gem 'therubyracer'
gem 'jquery-rails'
gem 'jquery-ui-rails', '~> 4.2.1'

# Uploader
gem 'carrierwave', '~> 0.10.0' # ファイルアップローダ
gem 'mini_magick'              # CarrierWaveでリサイズなどができるようになる
gem 'fog', '~> 1.23.0'         # CarrierWaveでAmazon S3に保存できるようになる

# 認証管理
gem 'devise', '~> 3.2.4'
gem 'omniauth', '~> 1.2.2'
gem 'omniauth-twitter', '~> 1.0.1'
gem 'omniauth-facebook', '~> 1.6.0'

group :production do
  gem 'unicorn', '~> 4.8.3'
end

group :development do
  gem 'thin' # 開発用サーバ
  gem 'spring'
  gem 'better_errors'     # エラー画面を見やすくする
  gem 'binding_of_caller' # インスペクション
  gem 'capistrano'        # デプロイ
  gem 'capistrano-rails'  # デプロイ
  gem 'capistrano-rbenv'
  gem 'capistrano-bundler'
  gem 'capistrano3-unicorn'
  gem 'capistrano-resque', '~> 0.2.0', require: false
  gem 'pry', '< 0.10.0'   # すごいirb
  gem 'pry-rails'         # railsでpryが使える
  gem 'hirb'              # SQLの結果を見やすく整形してくれる
  gem 'hirb-unicode'      # hirbの日本語対応
  gem 'quiet_assets'      # assetのログを非表示
  gem 'bullet'            # N+1検出
  gem 'rails-erd'         # ER図生成
  gem 'guard-rspec'       # ファイルが変更されたらRsepcを自動実行
  gem 'guard-livereload'  # ファイルが変更されたらページを自動リロード
  gem 'guard-bundler'     # bundle installの自動化
  gem 'guard-annotate'    # annotateを自動化
  gem 'awesome_print'     # プリントデバッグの出力を整形
  gem 'annotate', '~> 2.6.5' # スキーマ情報を追記
  gem 'rack-mini-profiler',  '~> 0.9.2' # profiler
end

group :test do
  gem 'rspec'
  gem 'rspec-rails', '~> 3.1.0'
  gem 'spring-commands-rspec'
  gem 'factory_girl'     # テストデータの生成
  gem 'database_cleaner' # DBの初期化
end

特に今回使ってて良かったものを下にまとめます。

jquery-turbolinks

Turbolinksと合わせてjQueryを使うのであれば鉄板です。Turbolinksで発火しなくなるjQueryの$(document).ready()を発火させることが出来ます。

exception_notification

本番環境で発生した例外をメールで通知してくれます。

resque

ジョブをキューに登録してバックグランドで処理してくれます。導入にはRedisが必要です。ASCIIcastsに日本語記事があるったので参考になりました。

上の記事にも書いてありますが、resqueの良いところは管理画面も付属しているところで、deviseとの連携も簡単でした。

activerecord-reputation-system

簡単にお気に入り機能や投票機能を実装することができます。
まだ本家がRails4に対応していなかったのでNARKOZ氏のForkを使用させていただきました。
このブランチは既に本家にマージされているのでそのうちリリースされると思います。

draper

ModelとViewの橋渡しのようなレイヤーを追加することができ、今まで無理やりHelperに書いていたようなコードが物凄く綺麗になります。
RailsCastsで紹介されているので参考にしました。

30
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
29