Lord knows that the last thing the world needs is another blog engine.

But our goal isn’t to build a blog engine per se. Our goal is to learn how to build Erlang applications using a specific tool set.  So let’s get with it.

As a first cut, let’s assume that our blog will have the following pages and features:

Public Pages

  • Home page displays most recent posts by month
  • Archive list enables consumer to select posts by month
  • Tag list enables consumer to select posts by topic
  • Consumer can respond to specific posts with comments

Administration Page

  • Access to admin page requires un/pw authorization
  • Admin can enter new post
  • Admin can edit exisiting posts
  • Admin can assign topical tags to post
  • Admin can define new topical tags
  • Admin can allow or deny comments

Are we missing anything essential? Please comment.

To build this we’re going to need:

  • A data store. We’ll use Mnesia.
  • A rendering engine. We’ll use Erlang and Nitrogen.
  • A web server. We’ll use Mochiweb.

Again, please comment.

We’ll need to master:

  • Basic CRUD operations on Mnesia.
  • Various Erlang data structures.
  • Erlang calendar functions.
  • Factoring Erlang style.
  • Nitrogen page construction.
  • Building custom elements in Nitrogen.

And most probably much much more.

So what do you say? Should we:

  • Scour the net for existing blog designs?
  • Start designing top down?
  • Start building bottom up?
  • First build a tinker-toy model to learn our tools?

I’m torn. What do you say?