updated readme

This commit is contained in:
Mark Moser 2016-09-23 10:55:53 -05:00
parent 4a745e0aba
commit 5ba65f0f83
2 changed files with 44 additions and 16 deletions

View File

@ -45,18 +45,18 @@ group :development, :test do
gem 'guard-shell'
gem 'minitest-reporters'
gem 'rails-controller-testing'
gem 'policy-assertions'
gem 'rails-controller-testing'
gem 'awesome_print'
gem 'binding_of_caller'
gem 'byebug', platform: :mri
gem 'pry-byebug'
gem 'pry-rails'
gem 'binding_of_caller'
gem 'awesome_print'
gem 'brakeman'
gem 'rubocop', '~> 0.42.0'
gem 'simplecov', require: false
gem 'brakeman'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem

View File

@ -2,20 +2,43 @@
This application manages quizzes intended to be used as pre-interview skill assessments.
## Development
## Development Guidelines
* Please use Guard when you are developing
Please follow these guidelines as close as possible. Discuss and question them as needed.
* Run Guard while developing.
* `bundle exec guard`
* Honor RuboCop warnings
* Keep tests green
* Write tests around new development
* Always pull with rebase!
* Always execute a full run before a push (simply hit return in your guard session).
* Honor RuboCop warnings.
* Write tests, And keep them green.
* Review the coverage report, keeping coverate > 90%.
* coverage/index.html
* It is OK to delete tests which are duplicated, or no longer relevant.
* If you find a bug, write a test to recreate it, so it never comes back unnoticed.
* Make sure to keep the fixture files current.
* `test/fixtures/*.yml`
* Include any new development data needs.
* Protect Gemfile.
* Does your new gem bring in a ton of unnecessary or outdated gems?
* Are you bringing in a gem that solves a problem already addressed by an existing gem?
* Do you really need this gem, or just a simple service object?
* Place your new gem appropriately. Some gem blocks are order specific, but most are alphabetized.
* Keep git comment subjects short, and use git comment bodies for more details.
* Pull with --rebase.
* `git config --global pull.rebase true`
* Make sure to include any new development data needs in the fixture files
* test/fixtures/...
* feature branches are nice, but never merge develop down to them. Instead rebase feature branches onto develop.
* Feature branches are nice.
* Rebase feature branches onto develop before merging.
* `push -f` is ok on feature branches. Just communicate with others using that branch.
* Never merge develop _down_ to a feature branch.
* Merge with `--no-ff` when appropriate, `--squash` "WIP" commits into a complete thought.
* Clean up your remote branches after merge.
* Keep code comments to a minimum.
* We use git. Write a good commit message instead.
* Remove/Update code comments when changes are made.
* Leave the code better than you found it.
* Have fun.
### Setup
## Setup
* clone
* checkout develop
* bundle
@ -26,10 +49,13 @@ This application manages quizzes intended to be used as pre-interview skill asse
* rake db:setup
* rake db:migrate
* rake db:fixtures:load
* `./rebuild-dev-db.sh` is a convenience script to rebuild and refresh your dev db with the fixture data.
## Docker
You can develop in this app with a native rails install, if you prefer. However, there is also a docker image setup if you do not want to install all the supporting gems and libraries.
You can develop in this app with a native rails install, if you prefer.
However, there is also a docker image setup if you do not want to install all the supporting gems and libraries.
Please note: The guard watch session does not run all watches correctly in the docker container. The only issue this causes is all the automation is not 100%. Simply manually kick off the runners occasionally by hitting return in the session.
To use the docker container, you need to install and launch docker, which can be found here:
https://www.docker.com/products/docker
@ -55,4 +81,6 @@ There are some convenience scripts included to make starting the container and r
## TODOs and notes
* Question attachment path: http://dev.perficientxd.com/skill_assets/
* clean code / [Confident Ruby](http://www.confidentruby.com/)
* clean code
* [Confident Ruby](http://www.confidentruby.com/)
* [POODR](http://www.poodr.com/)