Skip to content

bburgett/Nigeria-Supportive-Supervision

Repository files navigation

Resource Tracking : Rwanda On Rails

For Developers

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.

Our Philosophy

Nothing is sacred, be vocal about ways to improve anything we are doing.

Google Group

Join the discussion at: groups.google.com/group/rwandaonrails

Pivotal Tracker

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.

Pairing/Mentoring

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.

Getting Started

Fork

Please fork and clone the git repository.

RVM

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.

Local DB

  • 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

App settings

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

Feature Dev

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.

Deploying to Heroku

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

Tests/TDD

BDD, TDD and

$ rake test

before every commit, and after every fetch, is your friend.

Setup

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

Running Tests

Cucumber Features

$ cucumber features

RSpec

$ spec spec
Hudson
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"
CIJoe
You can set up a local cijoe server with;

$ git config --add cijoe.runner "<the Hudson bash command above>"

Contributing

Write tests then write code. Have fun while improving your craft.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •