I've recently been using to-do lists to record my progress for side projects. So, I thought it'd be cool to ship a side-project that lets me do just that (very meta I know XD)! This application is great for solo projects, doing household chores, or even just keeping track of your groceries.
Recently, I've been reading up on Test Driven Development practices and how it acts as a thinking tool that helps you with:
So, I've been trying to apply the principles I learned to my own software and game-dev side projects.
Another handy trick I picked up while learning about TDD was to always maintain a to-do-list of the specs you know that you have to write and implement so that you can pay attention to the work that you're doing in a programming session instead of succumbing to your stress because of the ton of work remaining.
Then, it struck me. Since I've been using to-do lists a lot, wouldn't it be cool if I build an application that I can use to make to-do lists for my side-projects, while applying these concepts!
Before I wrote the first line of code, I defined the domain by pondering the following questions:
Once the domain abstractions were modeled, I set up a Model View Controller (MVC) architecture such that:
Primitive Type → Parser → Domain Type Domain Type → Renderer → Primitive Type
I've also created Components for reusable UI elements so that rendering the necessary information and setting up event listeners is easier.
Technologies used
Discussion