I've just gotten the source downloaded and have been looking through.
There are a number of things I'd like to add to make freehub a more
suitable replacement for the spreadsheet system we use now. For one,
we try to track time in and time out and that's probably the easiest
thing to add as a first step. I think we have a few other minor
additions like that that help us write grants and show the community
impact.
Well, here's to hoping someone else is out there!
-Tony
Durham Bike Coop
http://github.com/asalant/freehub/network
If you are planning to work on Freehub, the best way to do that is to
fork it and then check that forked repo out to do your work. That'll
be the easiest way for you to do your thing and for me pull in
enhancements.
If you would like your enhancements to make it back in to the main
Freehub version (I would like that), please write tests.
For an advanced workflow for using Git to collaborate on open source
projects see http://mojodna.net/2009/03/09/my-public-git-workflow.html.
In the case of Freehub it's really the simplest case b/c there are
simply so few contributors at this time.
For implementing tracking time out, I assume you'll want to modify
Visit to do this. I could see doing this by migrating Visit.datetime
to Visit.checked_in_at and adding Visit.checked_out_at. Combine that
with a 'Check Out' button on the visits list page and you could be
good to go.
On the top of my list for next major enhancement is to add tags for
people. We're finding we want to track a lot of things like who is
staff, who is qualified as a mechanic, who has a key to the shop and
tags seem like a good free form way to support that and a lot of other
future unknown cases.
Alon
Regarding tests, that was going to be one of my follow up questions,
what test suite is in use? I'm following http://www.railstutorial.org/
to get myself familiar, and they use rspec. It doesn't seem to match
what's present in the freehub code. Is that just built on rails's
Test::Unit module? (I haven't dug into either the test code or
Test::Unit enough to know yet).
Tagging does seem like a good idea for pretty much the reasons you just
listed.
Thanks,
-Tony