Test Task

Build Status

Code Climate

Test Coverage

Issue Count

Document Viewer is the base Rails application template used at Flatstack. It's based on Rails 4 and Ruby 2.2.2.

Application Gems

Development Gems

  • 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

Testing Gems

Initializers

  • 01_config.rb - shortcut for getting application config with app_config
  • mailer.rb - setup default hosts for mailer from configuration
  • requires.rb - automatically requires everything in lib/ & lib/extensions

Scripts

  • bin/setup - setup required gems and migrate db if needed
  • bin/quality - runs rubocop, brakeman, rails_best_practices and bundle-audit for the app
  • bin/ci - should be used in the CI or locally
  • bin/server - to run server locally

Getting Started

Prepare dependencies

Some gems have native extensions. You should have GCC installed on your development machine.

  • qt - to run specs with Capybara Webkit
  • phantomjs198 - to run Javascript unit tests

Setup required dependencies from Brewfile:

brew tap Homebrew/bundle
brew bundle

Bootstrap application

  1. Clone application as new project with original repository named "audit-file-test-task".

    git clone git://github.com/fs/audit-file-test-task.git
  2. Run setup script

bin/setup
  1. Run test and quality suits to make sure all dependencies are satisfied and applications works correctly before making changes.
bin/ci
  1. Run app
bin/server

Credits

Document Viewer was created by Maxim Larionov as a test task by Flatstack for AuditFile

Flatstack