Kicking off the blog (and the project, too)

I promised myself, that I'd chronicle my efforts in developing a project from start to finish.

Well, this won't quite work out, since I already have the contract in hand. ;)

However, I'll write up what I am going to do, what I am doing, and the milestones reached. Well, a software development blog.


So, what's the project about?

I have to build a web-based Document management system.

Requested Features:

  • Single Sign On
  • Import documents from a network share
  • Storage of metadata (an odd one in this case is, that physical locations have to be recorded, too, in case the government agency sending it cannot deal with electronic documents. Legal requirements are fun like that)
  • Fortunately, no detailed tracking for SOX or other such regulations.

What's coming up

At first, I'll post progress about gathering requirements, proposals and recommendations of solutions for these requirements that go out to the client (after I've sent them, though).

After that, I'll report my progress with the application: What I did, why I did it, and what the challenges were.

And last but not least, I'll talk about the deployment of the application, and its maintenance.

So, what are you using?

The web application framework is going to be Ruby on Rails, the database back-end MySQL, the webserver will be Apache of some sort. What'll serve the Rails pages I don't know yet. Maybe Glassfish with JRuby, maybe mod_rails, possibly the classic Apache + Pack of Mongrels solution. We'll see when I get there.

My development OS will be Windows XP together with a Debian VM and a Kubuntu 8.04 installation as primary development OS.

The deployment will be on FreeBSD 5.4 (I know, I can't influence that, and neither can my client).

The approach I'll be using, even though I'm just one person, is a simple variant of Agile Development: Sprints, and loads of tests before I write the actual code.

4 comments:

Anonymous said...

Best of luck. I've got a similar project cooking so it will be interesting to compare notes. I do like your idea of blogging a project and will have to do it myself sometime soon.

You didn't mention if you were planning on TDD or BDD. I'm pushing myself to do a BDD approach using RSpec. As I'm still on the learning curve for RSpec, it has initially slowed me down, but I'm starting to get some traction now and am learning to love Mocks.

Unknown said...

I am not sure yet myself (and thanks for bringing it up, hadn't thought about the approach to use).

Though, I'll take a look at Shoulda for some BDD experimentation. RSpec' syntax max me cringe a little bit when I read it.

Corey Haines said...

I notice you are going to be doing your development on xp. I started on windows, then moved to mac, because Ruby spins up much too slowly on the windows machine. This causes quite a bit of annoyance when you are trying to do either TDD or BDD and want to run your tests VERY frequently. I'll be interested to see how your experiences go.

Unknown said...

Indeed, on Windows Ruby takes the better part of an eternity to start and execute code. And this is annoying for test suites (a smallish Testsuite with about 100 tests took 70 seconds with the VC6 compiled binaries).

However, I'll take a look into how much autotest can limit that problem.