TODO: Add badges!
Live project: ACCOUNT.SERVER.uberspace.de
Recommended environment:
Setup:
$ git clone git@github.com:GITHUB/accessibility-doctor.git
$ cd accessibility-doctor
$ bundle install
$ cp config/secrets.example.yml config/secrets.yml
- Open
config/secrets.yml
and edit it $ rails db:setup
$ rails db:test:prepare
You can use direnv to automatically add bin
to your $PATH
. Otherwise you should always use bundle exec
to run commands.
- Pandoc for advanced Markdown capabilities:
$ brew install pandoc
- PhantomJS for automated JavaScript testing:
$ brew install phantomjs
- ImageMagick for image manipulation:
$ brew install imagemagick
- In one terminal, enter
$ server
to start the development server using rerun (which will take care of restarting the server upon changes of important config files) - In a second terminal, enter
$ guard
to start Guard, which automatically takes care of:- executing tests using Guard-RSpec
- live reloading the page (HTML, JS and CSS) using Guard-LiveReload
- bundling using Guard-Bundler
- annotating models using Guard-Annotate
- migrating the DB using Guard-Migrate
- Open http://localhost:PORT in your browser (use whatever port you specified in
config/boot.rb
)
Make sure that:
- All CRUD functionality is covered (as far as possible) by inherited_resources
- All authorization is done through cancancan
- The ability.rb file is thoroughly tested
- Every action has a correlating feature spec file (nest them in folders similar to the nested routes' structure)
- Every navigation item has a correlating spec in navigation_spec.rb
- Run
$ i18n-tasks normalize
- Run
$ rake
and make sure, no specs are pending/failing - Run
$ smusher app/assets/images
...
At the time being, Bower integration strategies for Rails are prone to problems. We stick to the traditional gems and hope, that some time soon, there's an official Bower integration strategy.
The i18n-tasks gem makes handling translations easily. It helps finding unused and not yet translated keys, and normalizes (e.g. sorts) the translation files.
$ i18n-tasks normalize
, then commit$ i18n-tasks unused
, then remove unused keys and commit$ i18n-tasks add-missing -v 'TRANSLATE: %{value}'
, then translate everything (do a project search forTRANSLATE:
) and commit
- Use
@chrome
or@selenium
flag to visually run feature tests in Chrome or Firefox.
To learn more about setting up deployment on a server, see Deployment.
Before deploying, run $ rake HEADHUNTER=true
to make sure all HTML and CSS is in good shape!
Before deploying, run $ i18-tasks add-missing
and translate the added I18n keys!
Be sure you have committed and pushed all wanted changes, then execute $ mina deploy
! Use the --verbose
and --trace
switch for debugging if something goes wrong.
That's all, folks!
You can find the backlog here: BACKLOG.md
.
You can find informations about external services in use here: SERVICES.md
.