Umbraco is an open source content management system (CMS) platform written in C# built upon Microsoft’s .NET framework using ASP.NET MVC architectural model. Out-of -the-box, Umbraco is not a CMS per se, it’s really a platform for building a CMS; and an excellent one at that. I’ll been using this platform for 10+ years and I must say it has matured into a killer system for building websites and web-based applications. It has great architecture, super extensibility, and a fantastic development ecosystem (support, developers, plugins). Most importantly…the clients love the backoffice for managing content. The backoffice user-experience is fully customizable and components are implemented with AngularJS controllers and views.

To illustrate the power and extensibility of this system I am building a sample project and along the way I’ll explain various techniques and components. I am building an event management system, with grid calendars and event registration. More to come…


  • Hybrid Controllers (SurfaceRenderMvcController, RenderMvcController)
  • Dependency Injection using Simple Injector
  • Data access with Petapoco Micro-ORM and T4 templates
  • Strongly typed content access and views using Umbraco Models Builder
  • Responsive web design with Bootstrap
  • Google Maps integration
  • more…