Below outlines what is setup with my average rails app
- Digital Ocean/AWS Server/Heroku
- AWS S3
- Heroku Postgres
- Skylight
- Mandrill/Sendgrid
- MailChimp
- Logentries
- Error Reporting App (Such as Sentry, Raygun, Rollbar) / Exception Notifier
- Github / Gitlab
- CI Service (Codeship)
- Devise
- Rspec
- Cabybara
- Pg
- puma
- lograge
- figaro
- bootstrap-sass/foundation/bourbon + neat
- bourbon
- simpleform
- quiet assets
- brakeman
- Rails Best Practices
- letter opener
- capistrano
- pry
- launchy
- factory girl
- email spec
- faker
- simplecov
- shoulda matchers
- haml rails
- carrierwave
- minimagick
- database cleaner
- mail form
- poltergeist (js testing within rspec)
- bundler-audit
- sitemap_generator
- i18n-tasks
- Rubocop
- RubyCritic
- autoprefixer-rails
- virtus
- roadie rails
- awesome_print
- meta_request (for railspanel)
- newrelic (visit /newrelic and see awesome stats)
- pghero (db stats for postgres)
- logster (https://github.com/discourse/logster)
- activerecord-colored_log_subscriber (colorize logs in dev)
- gemsmith (https://github.com/bkuhlmann/gemsmith, for bootstrapping gems/engines and working with gems)
- spring-commands-rspec
- email_validator
To help get things started, rails apps composer is generally used
Write Acceptance Tests First then Unit Tests
See this gist for when you THINK you are ready to launch the app.