New Project for Non-Profit
May 4th 2008Once every few years or so, I find myself writing software for a non-profit organization. No, never the same one twice :–)
I first did this almost 20 years ago, for the Philadelphia Folk Festival, in Clipper v. 5.0, a compiled dBase – derivative, under MSDOS. The great thing about Clipper (at the time) was that it had “everything” – a functional programming language, a database (almost relational, but no SQL), and a “graphics” library that let you easily put things like forms on the screen. That was two more things than Turbo C++ had at the time :–)
It was pretty primitive compared to today’s environments (though it did have both ones and zeros) – to put up a “dialog box”, you had to save off the contents of the screen area that you were going to overlay, clear the area, draw a border using those nifty ASCII border characters, and then place the text in the box. To “close” the dialog, you restored the saved-off screen info. Lots of fun.
Interestingly though, it did have a few built-in objects, some object-oriented syntax for dealing with them, and, believe it or not, closures. I can’t remember what they were called – “code blocks”, maybe?
Anyway, I digress. As I was thinking about the building blocks of the current application – for the local Office of Emergency Management – I was thinking about how far we’ve come in the last 20 years.
The project is still in the planning stages, but here’s what I’m thinking:
- Web App – so that many people can have access – just a dream 20 years ago.
- Front-end to be written with GWT – all of the Web 2.0 goodness, hopefully little of the JavaScript pain.
- Back-end in MySQL – just because it’s what the web host has
- Data access layer – JPA over Hibernate, made easy via Spring – not only do we have SQL now, but we’re so tired of it that we try not to use it directly :–)
- Server-side web app framework – Spring MVC
- Authentication and authorization – Spring Security (formerly ACEGI)
- Reporting – JasperReports.