I have been following ASP.NET MVC ever since it was brought up as the meta-pattern behind Stackoverflow. As I referred to in my last post, I'm in the process of building a website for a local Catholic school. Part of the the act of building the site is determining whether or not I want to go the extra mile and really make it something special, or if I just want to 'make it work'. The traditional Web Forms + NHibernate + SQL Server will make it quite easy to build; but then I wouldn't be learning anything new. MVC does seem like overkill for the task at hand, however. So the question at hand, Speed? Or doing it the right way?
Over the past few months, I've been working on upgrading St. Ann's Catholic School website from the circa 1996 look to something more modern.
So far, I've done the following:
- Organized the site in a logical fashion
- Implemented a menu system using Tanfa's CSS driven Menus
- Used Purplehaze.css as a baseline for the website's cascading stylesheet
- Created and helped edit static content for the site (I instructed a non-technical person on how to upload the static content and change the content so far.)
Since that's done, I can focus on the dynamic nature of the site. There are a number of stated features to be implemented, including:
- Ability to add weekly newsletters
- Ability to add homework
- Ability to add events (a la Google Calendar)
- Ability to see recently added information
To make this happen, I need to take the following steps:
- Create Database Schema
- Use NHibernate and My Generation to create POCO objects and theData Access Layer and Mapping files
- Create Business logic and create individual modules listed above
- Deploy and Maintain
I intend to use this blog to document this, and obviously the code will be released (open source, license unknown) to allow other schools to create dynamically driven sites without having to rely on sites like TeacherWeb. I don't have anything against TeacherWeb, I just can't believe that schools would pay for what amounts to a WYSIWYG editor (not unlike Frontpage).
You may wonder why I'm using CSS Menus and Stylesheets from other authors instead of rolling my own. I could do both (though the latter would be far easier than the former); the reason is easy, never design what you can steal.