{"id":13879657,"url":"https://github.com/fs/rails-base","last_synced_at":"2025-07-16T15:32:50.030Z","repository":{"id":992307,"uuid":"800441","full_name":"fs/rails-base","owner":"fs","description":"Skeleton for new Rails based projects.","archived":false,"fork":false,"pushed_at":"2023-03-05T00:32:05.000Z","size":4790,"stargazers_count":197,"open_issues_count":31,"forks_count":58,"subscribers_count":35,"default_branch":"master","last_synced_at":"2024-08-07T08:12:56.876Z","etag":null,"topics":["rails","ruby","skeleton"],"latest_commit_sha":null,"homepage":"http://www.flatstack.com/open-source/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2010-07-27T12:02:37.000Z","updated_at":"2024-01-11T09:11:57.000Z","dependencies_parsed_at":"2023-07-05T21:33:02.851Z","dependency_job_id":null,"html_url":"https://github.com/fs/rails-base","commit_stats":{"total_commits":1040,"total_committers":71,"mean_commits":"14.647887323943662","dds":0.7125,"last_synced_commit":"53437ea23fd026d524bef35939366f3417fbb126"},"previous_names":[],"tags_count":11,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fs%2Frails-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fs%2Frails-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fs%2Frails-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fs%2Frails-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fs","download_url":"https://codeload.github.com/fs/rails-base/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226143895,"owners_count":17580245,"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","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":["rails","ruby","skeleton"],"created_at":"2024-08-06T08:02:27.981Z","updated_at":"2024-11-24T08:31:35.474Z","avatar_url":"https://github.com/fs.png","language":"Ruby","readme":"# Rails Base\n\n[![Build Status](https://flatstack.semaphoreci.com/badges/rails-base.svg?key=1e8f53ac-b0b4-4dc7-bf8b-8027aa5a609e)](https://flatstack.semaphoreci.com/projects/rails-base)\n\nRails Base is the base Rails application template used at Flatstack.\nIt's based on Rails 6 and Ruby 2.7\n\n## Application Gems\n\n* [Sass](https://github.com/rails/sass-rails) for Sass/Scss stylesheets\n* [Zurb Foundation](https://github.com/zurb/foundation-rails) as CSS framework.\n  For more information see [documentation on using Foundation in Rails apps](http://foundation.zurb.com/docs/applications.html)\n* [Foundation Icon Font](https://github.com/zaiste/foundation-icons-sass-rails) for icons. Browse [icon set](http://zurb.com/playground/foundation-icon-fonts-3) examples\n* [Autoprefixer](https://github.com/ai/autoprefixer-rails) for writing CSS without vendor prefixes\n* [Slim](https://github.com/slim-template/slim) for views\n* [Simple Form](https://github.com/plataformatec/simple_form) for forms\n* [Responders](https://github.com/plataformatec/responders) to DRY controllers\n* [Decent Exposure](https://github.com/voxdolo/decent_exposure) to DRY controllers\n* [Draper](https://github.com/drapergem/draper) to decorate models for views\n* [Decent Decoration](https://github.com/netguru/decent_decoration) to extend Decent Exposure with Draper\n* [Interactors](https://github.com/collectiveidea/interactor) encapsulates application's business logic\n* [Action Policy](https://github.com/palkan/action_policy) to encapsulate authorization logic\n* [Kaminari](https://github.com/amatsuda/kaminari) for pagination\n* [Devise](http://github.com/plataformatec/devise) for basic auth\n* [Rollbar](https://github.com/rollbar/rollbar-gem) for exception notification\n* [Google Analytics Rails](https://github.com/bgarret/google-analytics-rails) for Google Analytics support\n\n## Development Gems\n\n* [Puma](https://github.com/puma/puma) as Rails web server\n* [Letter Opener](https://github.com/ryanb/letter_opener) for opening mail in the browser instead of sending it\n* [Bullet](https://github.com/flyerhzm/bullet) for detecting N+1 queries and unused eager loading\n* [Rubocop](https://github.com/bbatsov/rubocop) and [Rubocop-Rspec](https://github.com/nevir/rubocop-rspec)\n  for reporting violations of the Ruby style guide\n* [Brakeman](https://github.com/presidentbeef/brakeman) for checking application for common security vulnerabilities\n* [ByeBug](https://github.com/deivid-rodriguez/byebug) as debugger\n* [Bundler Audit](https://github.com/rubysec/bundler-audit) for scanning the Gemfile for\n  insecure dependencies based on published CVEs\n* [Spring](https://github.com/rails/spring) for fast Rails actions via\n  pre-loading\n* [Web Console](https://github.com/rails/web-console) for better debugging via\n  in-browser IRB consoles\n* [SCSS-Lint](https://github.com/brigade/scss-lint) for reporting violations of SCSS coding conventions\n* [Slim-Lint](https://github.com/sds/slim-lint) for reporting violations of Ruby style guide in `.slim` templates\n* [Rails ERD](https://github.com/voormedia/rails-erd) for generating a diagram based on application's AR models\n\n## Testing Gems\n\n* [Capybara](https://github.com/jnicklas/capybara) for integration testing\n* [Factory Bot](https://github.com/thoughtbot/factory_bot_rails) for test data\n* [RSpec](https://github.com/rspec/rspec) for unit testing\n* [Shoulda Matchers](http://github.com/thoughtbot/shoulda-matchers) for common RSpec matchers\n* [Email Spec](https://github.com/bmabey/email-spec) for common matchers for testing emails\n\n## Initializers\n\n* `mailer.rb` - setup default hosts for mailer from configuration\n* `requires.rb` - automatically requires everything in lib/ \u0026 lib/extensions\n\n## Scripts\n\n* `bin/setup` - setup required gems and migrate db if needed\n* `bin/quality` - runs rubocop, brakeman, rails_best_practices and bundle-audit for the app\n* `bin/test` - runs all tests and quality checks\n* `bin/server` - to run server locally\n\n## Getting Started\n\n### Prepare dependencies\n\nSome gems have native extensions.\nYou should have GCC installed on your development machine.\nDependencies will be automatically installed via setup script.\n\n* `phantomjs` - to run Javascript unit tests\n* `graphviz` - to generate Entity-Relationship Diagram\n* `node` - JavaScript runtime\n\n### Bootstrap application\n\n1. Clone application as new project with original repository named \"rails-base\".\n\n   ```bash\n   git clone git://github.com/fs/rails-base.git --origin rails-base [MY-NEW-PROJECT]\n   ```\n\n2. Create your new repo on GitHub and push master into it. Make sure master branch is tracking origin repo.\n\n  ```bash\n  git remote add origin git@github.com:[MY-GITHUB-ACCOUNT]/[MY-NEW-PROJECT].git\n  git push -u origin master\n  ```\n\n3. Run setup script\n\n  ```bash\n  bin/setup\n  ```\n\n4. Run test and quality suits to make sure all dependencies are satisfied and applications works correctly before making changes.\n\n  ```bash\n  bin/test\n  ```\n\n5. Run app\n\n  ```bash\n  bin/server\n  ```\n\n6. Update README\n\n  Do not forget to update application `README.md` file with detailed information based on the\n  existing template.\n\n  ```bash\n  mv doc/README_TEMPLATE.md README.md\n  # update README.md\n  git commit -am \"Update README.md\"\n  ```\n\n## Deployment\n\n### Heroku\n\nOut of the box Rails Base ready to be deployed to [Heroku.com](http://heroku.com).\n\n* [Heroku Postgres](https://www.heroku.com/postgres) add-on will be used for database.\n* [SendGrid](https://devcenter.heroku.com/articles/sendgrid#ruby-rails) add-on required to be able to send emails.\n* [NewRelic](https://devcenter.heroku.com/articles/newrelic#ruby-installation-and-configuration) add-on could be used to monitor application performance.\n* [Rollbar](https://elements.heroku.com/addons/rollbar) add-on could be used to application errors.\n\n```bash\nheroku create --addons=heroku-postgresql,sendgrid,newrelic,rollbar --remote staging rails-base-example\nheroku config:add HOST=\"rails-base-example.herokuapp.com\" MAILER_SENDER_ADDRESS=\"noreply@rails-base-example.herokuapp.com\" NEW_RELIC_APP_NAME=\"Rails Base\"\ngit push staging master\nheroku run rake db:schema:load\nheroku open\n```\n\n### Custom Server\n\nTo be able to deploy to your custom server [Cloud66.com](http://cloud66.com) recommended as a provisioning and deployment service.\nMake sure to review and configure `cloud66/manifest.yml` before deployment.\n\n## Credits\n\nRails Base is maintained by [Timur Vafin](http://github.com/timurvafin).\nIt was written by [Flatstack](http://www.flatstack.com) with the help of our\n[contributors](http://github.com/fs/rails-base/contributors).\n\n[\u003cimg src=\"http://www.flatstack.com/logo.svg\" width=\"100\"/\u003e](http://www.flatstack.com)\n","funding_links":[],"categories":["Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffs%2Frails-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffs%2Frails-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffs%2Frails-base/lists"}