Over the past three summers, I’ve been employed by the District School Board of Niagara as an internal web application developer.
One of my first jobs in the summer of 2006 was to rebuild the online auction application that the DSBN Purchasing department ran. The original auction let the Board dispose of old equipment quickly and easily, and was quite popular. Unfortunately, it was also written in (almost) unintelligible/unmaintainable Perl.
So I rewrote it by myself, and learned PHP/MSSQL along the way. We called this new auction site The Government Surplus Online Auction, and we opened it up so that other government agencies could also post items for auction.
Things went along fine until last summer, when the site got attacked by an SQL Injection bot. Back in 2006, I had no idea what SQL injection was, or how to guard myself.
So there I am – I’ve just come back from a camping trip, my inbox is packed with complaints, and I’ve got three weeks until school begins. Crap.
Luckily, I had plenty of tools at my disposal. My web app development skills and practices had evolved dramatically since 2006, and I had been itching to reimplement the auction anyhow. The SQL Injection attack was a perfect excuse for me to gut the entire application, and rebuild from scratch.
And I did. I rebuilt the whole thing from the ground up in three weeks. It’s been almost a year since it was deployed, and I’m still very happy with its performance, and the code that runs it.
I’m not happy with its overall UI design. I think there are plenty of improvements to be made in that regard. Luckily, it’s coded using a light MVC framework that I designed/built myself, so reskinning shouldn’t be too hard for whoever decides to work on it…
Apparently, I’m not the only one happy with the auction site. Check out this article (now without annoying print dialog).
I just checked the logs today – we hit a new record: an aerial truck went for $22,000 dollars. With the Board receiving 5% ($1100) of that simply for hosting, I think everybody is walking away happy.
Proof that I wrote it? This’ll have to do.