Document Viewer is the base Rails application template used at Flatstack. It's based on Rails 4 and Ruby 2.2.2.
- Sass for Sass/Scss stylesheets
- Zurb Foundation as CSS framework. For more information see documentation on using Foundation in Rails apps
- Foundation Icon Font for icons. Browse icon set examples
- Autoprefixer for writing CSS without vendor prefixes
- Slim for views
- Skim for client-side templates (Slim with embedded Coffeescript)
- Simple Form for forms
- Responders to DRY controllers
- Decent Exposure to DRY controllers
- Interactors encapsulates application's business logic
- Pundit to encapsulates authorization logic
- Kaminari for pagination
- Devise for basic auth
- Rollbar for exception notification
- Thin as Rails web server
- Foreman for managing development stack with Procfile
- Letter Opener for opening mail in the browser instead of sending it
- Bullet for detecting N+1 queries and unused eager loading
- Rubocop for reporting violations of the Ruby style guide
- Rails Best Practices for checking the code quality
- Brakeman for checking application for common security vulnerabilities
- Pry Rails for interactively exploring objects
- Bundler Audit for scanning the Gemfile for insecure dependencies based on published CVEs
- Spring for fast Rails actions via pre-loading
- Web Console for better debugging via in-browser IRB consoles
- SCSS-Lint for reporting violations of SCSS coding conventions
- Coffeelint to keep Coffeescript code clean and consistent
- Capybara and Capybara Webkit for integration testing, including JavaScript behavior
- Jasmine for unit testing JavaScript code
- Jasmine jQuery for jQuery matchers and fixtures in Jasmine
- Factory Girl for test data
- RSpec for unit testing
- Shoulda Matchers for common RSpec matchers
- Email Spec for common matchers for testing emails
01_config.rb
- shortcut for getting application config withapp_config
mailer.rb
- setup default hosts for mailer from configurationrequires.rb
- automatically requires everything in lib/ & lib/extensions
bin/setup
- setup required gems and migrate db if neededbin/quality
- runs rubocop, brakeman, rails_best_practices and bundle-audit for the appbin/ci
- should be used in the CI or locallybin/server
- to run server locally
Some gems have native extensions. You should have GCC installed on your development machine.
qt
- to run specs with Capybara Webkitphantomjs198
- to run Javascript unit tests
Setup required dependencies from Brewfile
:
brew tap Homebrew/bundle
brew bundle
-
Clone application as new project with original repository named "audit-file-test-task".
git clone git://github.com/fs/audit-file-test-task.git
-
Run setup script
bin/setup
- Run test and quality suits to make sure all dependencies are satisfied and applications works correctly before making changes.
bin/ci
- Run app
bin/server
Document Viewer was created by Maxim Larionov as a test task by Flatstack for AuditFile