Bootstrap ServiceStack MVC Backbone.js with Twitter and Facebook auth built-in

Is a Single Page App template using the finest, leanest, cleanest OSS parts $0 money could buy 🙂

  • Twitters Bootstrap – For Website design template, css, widgets
  • ServiceStack – .NET REST Web Services Framework
    • MVC PowerPack – Enhance MVC with clean Session, Caching, Logging, IOC & JSON libs
    • Bundler – node.js, CoffeeScript, Less, Sass, JS and website bundling + minification features
  • ASP.NET MVC3 – ASP.NET MVC Web Framework
  • Backbone.js – A lightweight MVC structure ideal for building Single Page Apps
  • Underscore.js – A functional utility toolbelt required by Backbone
  • jQuery – The ubiquitos JS library for providing a pleasant and smooth API around DOM quirks

My Web application is a Single Page Application and its server front-end is a mix of ASP.NET MVC and WebAPI routes. All View routes (actually the only one) allows anonymous access. But all ApiController’s are guarded by AuthorizeAttribute. There’s a special ApiController – SecurtyApiController with the following routes: Login and GetCurrentUser methods (all these routers are mapped onto corresponding methods) allow anonymous access.

I’m currently recording a course for Pluralsight with a working title of “Building Single Page Apps (SPA) with ASP.NET Web API, Knockout and jQuery” targeting to be out by August 31. This is an end to end course that hits hundreds (ok, not quite) of technologies that work together to create a SPA that works across multiple devices and screen sizes. As I’m recording the videos, I thought it might be fun to occasionally blog about the experience as there were many good tips (and trips) I hit along the way. I really wanted to share an end to end demo that doesn’t cover every feature of every technology, but rather how they all work together in symbiosis.

Oak – Frictionless development for ASP.NET MVC single page web apps.

What is Oak?

Single page web apps are becoming the norm as opposed to the exception. And with that comes a large part of your code base existing on the client side with a lot of JavaScript, JSON and async HTTP. Oak gives you a way to quickly build these kind of apps by:

  • Bridging language barriers between JavaScript (a prototypical language) and C# (a statically compiled languge).
  • Leveraging C#’s 4.0 DLR to give your classes extremely powerful dynamic and prototypical capabilites.
  • Augmenting ASP.NET MVC to better support consuming and returning JSON payloads.
  • Providing a lean, fast, dynamic ORM to seamlessly save dynamic/prototypical classes.
  • Providing a holistic approach to develop, build, and test single page web apps.