PivorakWebApp
$ git clone [email protected]:pivorakmeetup/pivorak-web-app.git
$ cd pivorak-web-app
$ rvm use ruby-2.3.1@pivorak --create
$ bundle
$ cp config/database.yml.example config/database.yml
Before database setup you should install Redis. Look install instructions here:
- for Ubuntu: https://goo.gl/PbG00W
- for MacOS: https://goo.gl/W8xQMJ
Note! You should have PostgreSQL >= 9.4
$ rails db:setup
$ rails s
- Add ssh key to the server
- Add user to the rollbar
- Add user to the #web-app Pivorak Slack channel
cap production deploy
Join our slack chat!
We have special #pivorak-web-app
channel for contributors.
Please checkout your new branch from development
branch. And use development
branch for deployment to production.
- Detect which issue you want to resolve. Write comment about this and how you supposed to do this.
- Fork project (if you don't have permissions to push).
- Checkout new branch with name
"#{issue_id}-#{add or fix or improve}-#{job-done-description}"
(77-add-feature
), write tests, write code, compose nice commit message"##{issue-id} commit message text"
(#77 Add feature :tada:
-> you may use emoji) and push your branch to origin. - Create merge request into development branch, add reviewers.
- Thank you!
Model should containe only data-logic.
- Processing -> to service/interactor.
- Complex queries -> to finders
- Predicates -> to policy.
View should be clean as much as possible. Please, use helpers to avoid call methods with some params at template.
Skinny controller. Only REST. Only 7 allowed actions (index, show, new, create, edit, update, destroy). If you need additional action - extract to new sub-controller
Single responsibility resource action that represents business logic.
Only one public method allowed .call
. Everething else - to private
QueryObject.
Domain predicates store. Knows answers for all questions.
- Go to issue tracker
- Add descriptive title
- Add steps to reproduce with screenshots
- Add label bug
- What happens and what you expected to happen
- Browser if it is UI related issue