rails_api_boilerplate is the base Rails api application used for me.
- Enable Github Actions CI Continuous Integration
- Enable GitHub auto deploys to Heroku staging and review apps.
Setup JWT secret for devise.
export JWT_SECRET_KEY="you can use "rails secret" for generate a secret token"
Run application setup
./bin/setup
To see the latest and greatest gems, look at Gemfile
It includes application gems like:
- Sidekiq for background processing
- Devise jwt for user authentication
- Faraday for http client interface
- Oj A fast JSON parser and Object
- Postgres for access to the Postgres database
- Recipient Interceptor to avoid accidentally sending emails to real people from staging
And development gems like:
- Pry Rails for interactively exploring objects
- ByeBug for interactively debugging behavior
- Bullet for help to kill N+1 queries and unused eager loading
- Spring for fast Rails actions via pre-loading
- Rubocop rails for enforcing Rails best practices and coding conventions.
And testing gems like:
- Capybara
- Factory Bot for test data
- RSpec for unit testing
- RSpec Mocks for stubbing and spying
- Shoulda Matchers for common RSpec matchers
You must add a JWT_SECRET_KEY
in the github secrets
rails_api_boilerplate uses spring by default.
It makes Rails applications load faster, but it might introduce confusing issues
around stale code not being refreshed.
If you think your application is running old code, run spring stop
.
And if you'd rather not use spring, add DISABLE_SPRING=1
to your login file.