I've been toying around with different ideas and concepts for web applications for a while now. Partly because it's always satisfying to learn new things and apply them in practice, but also because it's simply fun and interesting. I work with web applications daily, and I enjoy solving the challenges they raise. While researching solutions to a particular problem, I often stumble upon solutions to problems I don't have yet. And that's frustrating at times, because those solutions can be pretty cool!
So, my solution to that problem is to start a little web application project of my own. I've named it Sparum, and the intent is to use it as a sandbox project for programming patterns, and throwing in some pretty cool libraries and new technologies along the way. It's a .NET/C#-based forum platform with a single-page application (SPA) frontend: thereby the name Sparum. Source code on GitHub as always.
My overall aims are:
- Separation of UI and platform
- Separation of data and behavior
- Infrastructure as an implementation detail
- Meaningful unit and integration tests
- Thorough, up-to-date documentation
- Build and test automation
While most of these are obvious for any application with an ambition for quality, it's still important to write them down so that I can hold myself to them. I'll be rigorous about these, as they'll make my life easier when maintaining and adding new features to the application as I progress. Rome wasn't built in a day, and Sparum won't be either!
I do plan to focus more on code and technical details in future posts about Sparum, but I thought I'd give it a short introduction first for some reference.