{"id":19710676,"url":"https://github.com/rootstrap/ios-bases-api","last_synced_at":"2025-11-23T07:01:54.005Z","repository":{"id":38293233,"uuid":"261254841","full_name":"rootstrap/ios-bases-api","owner":"rootstrap","description":"API for demo iOS projects.","archived":false,"fork":false,"pushed_at":"2023-01-19T18:44:24.000Z","size":1072,"stargazers_count":1,"open_issues_count":38,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-12T01:05:06.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootstrap.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2020-05-04T17:43:55.000Z","updated_at":"2020-12-07T13:12:43.000Z","dependencies_parsed_at":"2023-02-02T17:05:04.790Z","dependency_job_id":null,"html_url":"https://github.com/rootstrap/ios-bases-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"rootstrap/rails_api_base","purl":"pkg:github/rootstrap/ios-bases-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fios-bases-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fios-bases-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fios-bases-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fios-bases-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootstrap","download_url":"https://codeload.github.com/rootstrap/ios-bases-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fios-bases-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285914727,"owners_count":27252968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-23T02:00:06.149Z","response_time":135,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T22:08:07.121Z","updated_at":"2025-11-23T07:01:53.956Z","avatar_url":"https://github.com/rootstrap.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rails API Template\n\n[![CircleCI](https://circleci.com/gh/rootstrap/rails_api_base.svg?style=svg)](https://circleci.com/gh/rootstrap/rails_api_base)\n[![Code Climate](https://codeclimate.com/github/rootstrap/rails_api_base/badges/gpa.svg)](https://codeclimate.com/github/rootstrap/rails_api_base)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/63de7f82c79f5fe82f46/test_coverage)](https://codeclimate.com/github/rootstrap/rails_api_base/test_coverage)\n\nRails 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 6 and Ruby 2.6.\n\nFinally, it contains a plug an play Administration console (thanks to [ActiveAdmin](https://github.com/activeadmin/activeadmin)).\n\n## Features\n\nThis template comes with:\n- Schema\n  - Users table\n  - Admin users table\n- Endpoints\n  - Sign up with user credentials\n  - Sign in with user credentials\n  - Sign out\n  - Reset password\n  - Get and update user profile\n- Administration panel for users\n- Rspec tests\n- Code quality tools\n- API documentation following https://apiblueprint.org/\n- Docker support\n\n## How to use\n\n1. Clone this repo\n1. Install PostgreSQL in case you don't have it\n1. Create your `database.yml` and `application.yml` file\n1. `bundle install`\n1. Generate a secret key with `rake secret` and paste this value into the `application.yml`.\n1. Run `yarn` to install webpack needs\n1. `rails db:create db:migrate`\n1. `rspec` and make sure all tests pass\n1. `rails s`\n1. You can now try your REST services!\n\n## How to use with docker\n\n1. Have docker and docker-compose installed\n1. build and run the application with `docker-compose up`\n1. Run `docker-compose exec web bash -c \"rails db:create db:migrate\"`\n1. You can now try your REST services!\n\n## Gems\n\n- [ActiveAdmin](https://github.com/activeadmin/activeadmin) for easy administration\n- [Annotate](https://github.com/ctran/annotate_models) for doc the schema in the classes\n- [Better Errors](https://github.com/charliesome/better_errors) for a better error page\n- [Brakeman](https://github.com/presidentbeef/brakeman) for static analysis security\n- [Bullet](https://github.com/flyerhzm/bullet) help to kill N+1\n- [Byebug](https://github.com/deivid-rodriguez/byebug) for debugging\n- [DelayedJob](https://github.com/collectiveidea/delayed_job) for background processing\n- [Devise](https://github.com/plataformatec/devise) for basic auth\n- [Devise Token Auth](https://github.com/lynndylanhurley/devise_token_auth) for api auth\n- [Draper](https://github.com/drapergem/draper) for decorators\n- [Factory Bot](https://github.com/thoughtbot/factory_bot) for testing data\n- [Faker](https://github.com/stympy/faker) for generating test data\n- [Figaro](https://github.com/laserlemon/figaro) for handling environment variables\n- [Jbuilder](https://github.com/rails/jbuilder) for json views\n- [Letter Opener](https://github.com/ryanb/letter_opener) for previewing a mail in the browser\n- [Oj](https://github.com/ohler55/oj) for optimized json\n- [Pagy](https://github.com/ddnexus/pagy) for pagination\n- [Pry](https://github.com/pry/pry) for enhancing the ruby shell\n- [Puma](https://github.com/puma/puma) for the server\n- [Rack CORS](https://github.com/cyu/rack-cors) for handling CORS\n- [Rails Best Practices](https://github.com/flyerhzm/rails_best_practices) for rails linting\n- [Reek](https://github.com/troessner/reek) for ruby linting\n- [RSpec](https://github.com/rspec/rspec) for testing\n- [Rubocop](https://github.com/bbatsov/rubocop/) for ruby linting\n- [Sendgrid](https://github.com/stephenb/sendgrid) for sending mails\n- [Shoulda Matchers](https://github.com/thoughtbot/shoulda-matchers) adds other testing matchers\n- [Simplecov](https://github.com/colszowka/simplecov) for code coverage\n- [Webmock](https://github.com/bblimke/webmock) for stubbing http requests\n- [YAAF](https://github.com/rootstrap/yaaf) for form objects\n\n## Optional configuration\n\n- Set your [frontend URL](https://github.com/cyu/rack-cors#origin) in `config/initializers/rack_cors.rb`\n- Set your mail sender in `config/initializers/devise.rb`\n- Config your timezone accordingly in `application.rb`.\n\n## Api Docs\n\nhttp://docs.railsapibase.apiary.io\n\n## Code quality\n\nWith `rake code_analysis` you can run the code analysis tool, you can omit rules with:\n\n- [Rubocop](https://github.com/bbatsov/rubocop/blob/master/config/default.yml) Edit `.rubocop.yml`\n- [Reek](https://github.com/troessner/reek#configuration-file) Edit `config.reek`\n- [Rails Best Practices](https://github.com/flyerhzm/rails_best_practices#custom-configuration) Edit `config/rails_best_practices.yml`\n- [Brakeman](https://github.com/presidentbeef/brakeman) Run `brakeman -I` to generate `config/brakeman.ignore`\n- [Bullet](https://github.com/flyerhzm/bullet#whitelist) You can add exceptions to a bullet initializer or in the controller\n\n## Configuring Code Climate\n1. After adding the project to CC, go to `Repo Settings`\n1. On the `Test Coverage` tab, copy the `Test Reporter ID`\n1. Replace the current value of `CC_TEST_REPORTER_ID` on the `config.yml file (.circleci/config.yml)` with the one you copied from CC\n\n## Code Owners\n\nYou can use [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) file to define individuals or teams that are responsible for code in the repository.\n\nCode owners are automatically requested for review when someone opens a pull request that modifies code that they own.\n\n## Credits\n\nRails Api Base is maintained by [Rootstrap](http://www.rootstrap.com) with the help of our\n[contributors](https://github.com/rootstrap/rails_api_base/contributors).\n\n[\u003cimg src=\"https://s3-us-west-1.amazonaws.com/rootstrap.com/img/rs.png\" width=\"100\"/\u003e](http://www.rootstrap.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fios-bases-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootstrap%2Fios-bases-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fios-bases-api/lists"}