faithfulgeek.org

Agile web development

Announcing Ruby on Rails Blog Starter Kit

April 1st, 2008

I am currently working a Ruby on Rails Blog Starter Kit. This will be an open source blog application to serve as a base for anybody else’s blog. Thus far I have been unable to find a satisfactory blogging engine written in Rails. I’ve tried a number of them, but they all seem abandoned, or at least development is quite slow. Because of this, and my constant urge to become a better Rubyist (Railsist?) I decided to write my own. However, I have no interest in writing or using a “full featured” blogging platform. I want something small, easy to use, with only the features I need, instead of the features I might use… someday. I also like looking at sample code. When I first started with Rails I would have loved a good sample application that I could customize. The Ruby on Rails Blog Starter Kit is that app.

The Process

I have decided to take a structured approach to developing the Blog Starter Kit (BSK). I will be heavily following the practices of “release early, release often” and TDD to efficiently create a stable, maintainable system. I am planning one week sprints in which I will complete a subset of the features on my blog and have them online, somewhere. I have yet to figure out the number of sprints that will be required, it will depend on my velocity, which I have yet to determine. For anyone unfamiliar with the terms I am using, a sprint is a period of implementing a feature of a product, at the end of which the team usually has a working product, whether or not it’s feature-complete. Velocity refers to the amount of time it takes a programmer to complete a feature.

The Features

This will be a fairly basic blog, with reliance on third-party plugins wherever possible. It will have basic posting features, commenting, feeds (RSS/Atom/etc?), Akismet integration for battling comment spam, adding to del.icio.us & digg, Gravatar integration, tagging, Metaweblog API integration, dynamic modules, and an admin login through OpenId for creating new posts/managing comments (edit/delete). As stated above, the focus of this blog is not creating the next great blogging platform; I’m building a very simple blog app that meets my needs. I’m opening it up to the community as a starter kit for anyone learning Rails (seasoned professionals, complete newbies, or anyone in between) to fork/customize for his/her own needs. I will not be taking feature requests. Instead, I would encourage anyone who feels this is lacking to fork it and add the features for themselves.

The Future

I’m sure over time I will add additional features as I see the need. This should be a good basic set to start off with. I could see this starter kit kick off a series of “starter kit” apps for other developers to build from. For example, who wouldn’t want a project management starter kit? I would love to see a Rails starter kit community spawn from this initial concept. However, that is the future, and the future doesn’t actually exist, so let’s concentrate on the present :).

I will begin by posting my code on github. I will do my best to update the source control regularly. I will post some more information to the project wiki, including details on what features will be in each sprint.

Leave a Reply