My first TurboGears project

My first TurboGears project will be a web-based GTD application. GTD stands for Getting Things Done, and is a method for managing time and commitment.

Of all my ideas I chose this because of the interesting model, which will consist of one-to-many and many-to-many relations. It also has all kinds of database operations (CRUD).
I also hope to learn some advanced kid templating, since the UI will consist of many panels: header, footer, left, right and middle.

The Model

Main object is the Project, which has Actions (tasks). When all actions are done, the project is complete. Actions belongs to a Context, which describes where this Action can be done (home,computer,phone,work etc).
Actions are usually listed by Context or Project.

Actions also has Tags. They help to find things, and gives me a chance to try out many-to-many relations.

I will add more functionality to the model later, for example a history view of changes.

Here’s a simplified diagram:

starter model
The User Interface

I have used a GTD-application before called d3. It has such a good interface that I will use it as a base for my project.


One Response to My first TurboGears project

  1. mgood says:

    Hmm, I was also considering starting a GTD app in TG. I’ve been using MonkeyGTD which, like d3, is based on TiddlyWiki. It’s been relatively good, but being all JS it’s a bit slow at times and I occasionally have problems with opening it in multiple browser windows.

    I’d love to help with this project, and if you’d like I can host a Darcs or Subversion repository and Trac project for it. You can email me:

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: