Currently getting an alpha / minimum viable product done. This should be fairly easy, it’s mostly CRUD. After that, we can better focus on working with the local development team. UI work has been using mostly active_scaffold, at this point, though that may change.
Most helpful feature to work on would be a tree interface for selecting codes for a project/activity/line item, along with fields to enter amounts or %‘s for that code. No work has been done on that as of yet. Email Greg and he will describe this feature to you.
We may switch to Rails 3 after we have some alpha working.
Nothing is sacred, be vocal about ways to improve anything we are doing.
Join the discussion at: groups.google.com/group/rwandaonrails
www.pivotaltracker.com/projects/59773
Tracker should be public at this point. Click the “Join Project” button after visiting this website to get more than read access.
Let Greg know if you’re available to do some pairing/mentoring! Mega bonus points.
More info on collaborating with local Rwandan team can be got by emailing gregory_nelson@abtassoc.com.
Please fork and clone the git repository.
Then install rvm using the instructions below. We use rvm to standardize the Ruby and Gem environments across developers and to help new devs get up and running quickly.
-
install RVM if not already installed, see rvm.beginrescueend.com/rvm/install/ . Google / ask Greg if you have trouble.
-
cd resource_tracking
-
git checkout master
-
rvm install ree
-
rvm ree-1.8.7-2010.02
Now we’ll import the rvm gemset from default.gems.
-
rvm gemset create ree-1.8.7-2010.02@resource_tracking
-
rvm gemset import resource_tracking
Note: if you have an error with database gem you won’t be using, you can ignore it.
-
cp config/database.yml.sample config/database.yml
# edit config/datbase.yml per your environment. This file is not tracked by git. # create .rvmrc file so whenever we cd to RAILS_ROOT we are using the right Ruby version and gem set.
-
echo ‘rvm ree-1.8.7-2010.02@resource_tracking’ > .rvmrc
-
script/generate cucumber # don’t overwrite files when it asks you
-
rake setup
-
script/server
We keep sensitive env-specific settings in config/settings.secret.yml, which is not in the repo.
Either ask another developer for their settings.secret.yml, or simply create it using the example file;
$ cp config/settings.secret.example.yml config/settings.secret.yml
Now you can choose a feature for the alpha, developing on a local feature branch (as per: reinh.com/blog/2009/03/02/a-git-workflow-for-agile-teams.html).
Let Greg / the mailing list know if you have any questions.
As mentioned above, config/settings.secret.yml is not in the repo and therefore not deployed to Heroku by default.
Without this file, to deploy, we must
a) autogenerate a script containing the config variables b) load them into the Heroku environment.
The heroku:vars rake task does this automagically. First you generate the script from the “secret” settings yml;
$ APP_NAME=stormy-ice-24 rake heroku:vars:setup
Then using this autogenerated script, you load the config vars up into your heroku environment;
$ rake heroku:vars:load
(this script is just a bunch of “heroku config:add key=val” commands). You can verify your config with;
$ heroku config RACK_ENV => production SITE_DESCRIPTION => Health Resource Tracking & Planning SITE_NAME => Resource Tracker
BDD, TDD and
$ rake test
before every commit, and after every fetch, is your friend.
On your dev environment, you’ll need to install a few gems;
$ RAILS_ENV=cucumber rake gems:install
And don’t forget to seed your Cuke DB
$ RAILS_ENV=cucumber rake db:seed
$ cucumber features
$ spec spec
bash -l -c "rvm use ree-1.8.7-2010.02 && rvm gemset create ubuzima-glennr && rvm gemset import ubuzima-glennr && ruby $WORKSPACE/lib/tasks/ci.rb"
You can set up a local cijoe server with; $ git config --add cijoe.runner "<the Hudson bash command above>"
Write tests then write code. Have fun while improving your craft.