4-H Camp Control Center – Technical Side
This post is in regards to the 4-H Camp Control Center that I built for the local 4-H office in Henry County. I have described the project in detail regarding its use and requirements in a previous post so please at least skim that over and this post will make a bit more sense most likely. My goal of this post is just to give you some general ideas regarding the technical specs of this project and its features in a bit more depth.
Development Platform
The system was built in Ruby on Rails with a MySQL database for both development and production. All development was done on a Mac and the production server was running on Mongrel on an Ubuntu server. The project was stored in a subversion repository on the same machine as the production and database server. As for the applications I used in development, I lived primarily on Textmate and the leopard terminal. I did use CSSEdit some for the CSS work. I tested the layout and system using just about any browser I could find on both Windows and OS X.
Stats
According to ‘rake stats’ this project is currently up to 3601 lines of code. The code to test ratio is an embarrassing 1:0.4 currently but I’m working on increasing this. At its heaviest usage there were 11 users logged in and using the system constantly and it performed great.
Features
- Receipt/Camper Entry via forms
- Simple Searching of campers and receipts
- Excel export
- Image Import for Receipts allowing for signatures
- Some models have in place editing allowing for easy updating
- Sortable columns on lists
- Role and permission based authentication system that allows for an exact definition of what a role should be allowed to do based on controller actions
- Javascript updating of forms based on input
- Input validation on all required fields
- Receipt entry does constant validation on input(no need to submit before realizing problems
- Exception E-mailing
Conclusion
The majority of the system was developed in a time frame of approx 3 months. Since the first use I have probably spent about 80 hours updating features that I wanted to change. The system currently is being prepped for its second year of use in the registration system and is currently being used for a few early registrations. If you have any questions regarding this system, please feel free to e-mail me at anytime.

