/rails_api_base

API boilerplate project for Ruby On Rails 5

Primary LanguageRubyMIT LicenseMIT

Rails API Template

CircleCI Code Climate

Rails Api Base is a boilerplate project for JSON RESTful APIs. It follows the community best practices in terms of standards, security and maintainability, integrating a variety of testing and code quality tools. It's based on Rails 5 and Ruby 2.3.

Finally, it contains a plug an play Administration console (thanks to ActiveAdmin).

Features

This template comes with:

  • Schema
    • Users table
    • Admin users table
  • Endpoints
    • Sign up with user credentials
    • Sign in with user credentials
    • Sign out
    • Reset password
    • Get and update user profile
  • Administration panel for users
  • Rspec tests
  • Code quality tools
  • API documentation following https://apiblueprint.org/

How to use

  1. Clone this repo
  2. Install PostgreSQL in case you don't have it
  3. Create your database.yml and application.yml file
  4. bundle install
  5. Generate a secret key with rake secret and paste this value into the application.yml.
  6. rake db:create
  7. rake db:migrate
  8. rspec and make sure all tests pass
  9. rails s
  10. You can now try your REST services!

Gems

Optional configuration

  • Set your frontend URL in config/initializers/rack_cors.rb
  • Set your mail sender in config/initializers/devise.rb
  • Config your timezone accordingly in application.rb.

Api Docs

http://docs.railsapibase.apiary.io

Code quality

With rake code_analysis you can run the code analysis tool, you can omit rules with:

  • Rubocop Edit .rubocop.yml
  • Reek Edit config.reek
  • Rails Best Practices Edit config/rails_best_practices.yml
  • Brakeman Run brakeman -I to generate config/brakeman.ignore
  • Bullet You can add exceptions to a bullet initializer or in the controller

Credits

Rails Api Base is maintained by Rootstrap with the help of our contributors.