Skip to content

tansengming/rails-base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI Code Climate Depfu Deploy

Rails Bootstrap

If I was going to build a SASS from scratch. These would be the set of tools I would use. Every Rails developer has their favorite set of tools and gems. These happen to be mine.

The Setup includes:

  • Testing with RSpec and Factory Girl. You can specify retry counts with the RETRIES environment variable i.e. RETRIES=5 bundle exec rspec spec to retry failing specs 5 times. By default failing specs get retried 3 times.
  • Application Administration with Active Admin.
  • Application Monitoring with Rollbar, Skylight and New Relic.
  • Continuous Integration and Deployment with Circle CI.
  • Continuous Code Checks with Code Climate
  • Customer Support with Intercom and Heap
  • Design with Twitter Bootstrap

Installation

Development

macOS

  1. git clone https://github.com/tansengming/rails-base.git
  2. cd rails-base
  3. rm -rf .git
  4. rm config/secrets.yml.enc
  5. git init && git add . && git commit -m 'initial commit'
  6. rails secrets:setup
  7. rails secrets:edit and use the values from config/secrets.yml.sample
  8. docker-compose up --build
  9. docker-compose run app rake db:create
  10. docker-compose run app rake db:migrate
  11. docker-compose run app rake db:seed
  12. A web server should be running at http://localhost:3000, a client for the SMTP server should be running at http://localhost:1080
  13. Sign up for accounts at Skylight, Segment, Heap, Intercom, sendwithus, Code Climate and Circle CI.
  14. Update your secrets at rails secrets:edit with all the tokens from the accounts you just signed up for.

Application Notes

  • There are 2 levels of admins. Regular admins get to administer the app. Super Admins administer regular admins. You can access them at /admin and /super_admins.
  • You can ping the app at /up.json for availability monitoring. If all goes well it will respond with {"status":"ok"}.