What technology stack would you recommend as I start my first ever ASP.NET real project?
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Salt/Lime/Tequila.
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
It depends on the likely size/scope. I would go with:- Small proof of concept: Lightswitch Small/medium : ASP.NET + Razor + MVC on SQL Server back end Large: Azure + CQRS Also - document it very well. The most important thing with any pro-bono work is that you can hand it over to someone else to maintain.
-
It depends on the likely size/scope. I would go with:- Small proof of concept: Lightswitch Small/medium : ASP.NET + Razor + MVC on SQL Server back end Large: Azure + CQRS Also - document it very well. The most important thing with any pro-bono work is that you can hand it over to someone else to maintain.
Duncan Edwards Jones wrote:
Small/medium : ASP.NET + Razor + MVC on SQL Server back end
We're definitely in the small/medium category, as far as I can predict. Thanks for the feedback! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
Salt/Lime/Tequila.
PIEBALDconsult wrote:
Salt/Lime/Tequila.
you forgot the loop sequence.
-
Duncan Edwards Jones wrote:
Small/medium : ASP.NET + Razor + MVC on SQL Server back end
We're definitely in the small/medium category, as far as I can predict. Thanks for the feedback! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
The follow on from that is make sure to make as much use of common frameworks (EF, Unity etc.) as you can - only write the code yourself that only you can write ;-)
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
I would go with MCV/Razor (you may also add Web API support to enable access from different clients) - this kind of VS project already makes use of jQuery, bootstrap and modernizr... I worked both with DevExpress and Telerik. Telerik looks cooler and easier to utilize and config (including look), but DevExpress performs slightly better... VS will create you a basic project, with modern look and login/register pages - if you interested... (If you think to do it public you may find others to join in...at the end you can share with them the prize :-) )
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:
-
Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].
-
jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.
// Manually manipulate your HTML using jQuery.
$("#someHtmlElement").text("some new text here!"); -
KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:
// JS
var myViewModel = {
foo: 42
};
ko.applyBindings(myViewModel); -
ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.
I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows
-
-
I would go with MCV/Razor (you may also add Web API support to enable access from different clients) - this kind of VS project already makes use of jQuery, bootstrap and modernizr... I worked both with DevExpress and Telerik. Telerik looks cooler and easier to utilize and config (including look), but DevExpress performs slightly better... VS will create you a basic project, with modern look and login/register pages - if you interested... (If you think to do it public you may find others to join in...at the end you can share with them the prize :-) )
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
Kornfeld Eliyahu Peter wrote:
If you think to do it public you may find others to join in...at the end you can share with them the prize
Indeed, that is the intention! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:
-
Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].
-
jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.
// Manually manipulate your HTML using jQuery.
$("#someHtmlElement").text("some new text here!"); -
KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:
// JS
var myViewModel = {
foo: 42
};
ko.applyBindings(myViewModel); -
ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.
I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows
Judah Himango wrote:
There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.
Yes, I've been watching what's going on there.
Judah Himango wrote:
The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.
Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
-
Judah Himango wrote:
There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.
Yes, I've been watching what's going on there.
Judah Himango wrote:
The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.
Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc
Imperative to Functional Programming Succinctly Higher Order Programming
NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET, Ruby on Rails, etc. I personally don't want JavaScript on the server. In fact, if I can tell you a dirty little secret, when on the client, I prefer TypeScript (or even CoffeeScript[^]) over raw JS. JS is missing a lot of things to make it a nice language for large apps. Languages like TypeScript and CoffeeScript help it in that regard while still compiling to plain ol' JS that runs in everybody's browser.
My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango
-
NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET, Ruby on Rails, etc. I personally don't want JavaScript on the server. In fact, if I can tell you a dirty little secret, when on the client, I prefer TypeScript (or even CoffeeScript[^]) over raw JS. JS is missing a lot of things to make it a nice language for large apps. Languages like TypeScript and CoffeeScript help it in that regard while still compiling to plain ol' JS that runs in everybody's browser.
My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango
Judah Himango wrote:
NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET
Ah! That helps.
Judah Himango wrote:
personally don't want JavaScript on the server.
Agreed.
Judah Himango wrote:
I prefer TypeScript (or even CoffeeScript[^]) over raw JS.
I will check those out. Thank you! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:
-
Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].
-
jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.
// Manually manipulate your HTML using jQuery.
$("#someHtmlElement").text("some new text here!"); -
KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:
// JS
var myViewModel = {
foo: 42
};
ko.applyBindings(myViewModel); -
ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.
I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows
:thumbsup: for jQuery and KnockoutJS
Jeremy Falcon
-
-
Hi Marc, I've been doing web stuff for several years now, having moved from desktop dev (MFC, WinForms, WPF, Silverlight) to ASP.NET web stuff. Here's my preferred web stack:
-
Bootstrap. CSS framework. It's a consistent style for your whole site. Makes it easy to build responsive sites that work well across all screen sizes. It makes it easy to do things like modal dialog boxes, gives you a consistent appearance across your whole site, and gives you some nice common web components such as drop-downs and navbars[^].
-
jQuery - DOM manipulation framework, helps you do HTML manipulation consistently across all browsers. It's required by Bootstrap and still quite handy when you need to manipulate HTML elements by hand.
// Manually manipulate your HTML using jQuery.
$("#someHtmlElement").text("some new text here!"); -
KnockoutJS - Databinding and MVVM pattern. It lets you do things like this:
// JS
var myViewModel = {
foo: 42
};
ko.applyBindings(myViewModel); -
ASP.NET MVC and ASP.NET WebAPI - MVC (with Razor) for server-rendering your HTML, and WebAPI for fetching data asynchronously.
I personally stay away from things like UI control frameworks. I find them to be vestiges of the desktop world that really aren't necessary in the web stack. There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary. One more thing. The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects. Like Knockout, it provides data binding. Additionally, it's a full fledged MVC framework in JavaScript, providing client-side routing, data binding, seperation of concerns between view (HTML), presentation logic (controllers in JavaScript), and data services (data fetching AJAX calls). Use it if you're building a dynamic web app; e.g. where the UI changes often and shows
Judah Himango wrote:
The hot new sexy thing everyone's worked up about is Google's AngularJS[^]
This[^] (knockout vs angularjs) is an amusing read, especially the pictures at the end of the article! Thought you might enjoy it. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
-
Judah Himango wrote:
NodeJS is JavaScript on the server, e.g. a replacement for things like ASP.NET
Ah! That helps.
Judah Himango wrote:
personally don't want JavaScript on the server.
Agreed.
Judah Himango wrote:
I prefer TypeScript (or even CoffeeScript[^]) over raw JS.
I will check those out. Thank you! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Cool. I know you're a C# guy, so TypeScript will make you feel right at home. Try it out in your browser[^]. TypeScript is created by Anders Heijlsberg, the creator of C#. Built into Visual Studio these days, so you can just Add New Item->TypeScript file, then start writing things like:
class MyAwesomeClass {
constructor(firstArg: string, someOtherArg: number) {
// ...
}someFunc(answer: number): string {
return "The answer is: " + answer;
}}
My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango
-
Judah Himango wrote:
The hot new sexy thing everyone's worked up about is Google's AngularJS[^]
This[^] (knockout vs angularjs) is an amusing read, especially the pictures at the end of the article! Thought you might enjoy it. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Heheh. Their analogy via pictures is funny and accurate: Knockout is a tiny paddleboard (it really just does data binding!), whereas AngularJS is the big yacht that does data binding, routing, MVC, separation of concerns, dependency injection, and much more. Great analogy.
My Messianic Jewish blog: Kineti L'Tziyon My software blog: Debugger.Break() Judah Himango
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
I dislike MVC, because it is unnecessarily complicated, and will take (me) longer to develop and maintain. But if you start today, MVC with Razor is the way to go. Everything else is just outdated. MVC razor is the most recent standard for working with asp.net. (at least it was two months ago, gosh things change rapidly) Leo
-
Hi Folks, I'm about to kick off a very interesting project for the Department of Public Works. It's interesting because I'm doing it pro bono, I've not done ASP.NET before, and I get to architect the thing any way I want, which means small baby steps in my spare time. The benefits will eventually be, besides having ASP.NET experience, putting something together that apparently lots of municipalities could use and the potentially turning "free" into something lucrative. We won't discuss the down sides. ;) Anyways, there's a lot of tech options out there for ASP.NET / Razor / MVC / Whatever coupled with jWhatever etc, etc. I am though seriously considering using DevExpress web controls, though possibly Telerik's which look pretty darn cool. While I'm starting with a basic concept -- an admin screen for filling in things like equipment, labor rates, materials and costs, and putting together a form where people can create a project estimate, this will need to eventually include tracking the actual project costs, for large projects splitting them into phases, etc. So what do you all suggest as the technology stack, staying within the boundaries of .NET and C#, for putting together a snazzy web site with the least effort? (And no, I do NOT want to do this in Ruby on Rails, I'm feeling quite done with duck-typed languages and crappy 3rd party open source components.) [edit] BTW, I came across this by subscribing to http://www.codeforamerica.org/[^] and responding to a request somebody made on one of the forums. [/edit] Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Hi Marc, as it has been mentioned here most probably ASP.NET MVC seems a way to go. The ASP.NET webpages is slightly lighter and not that structured as MVC (which could be good if you want to ship something quickly that is pretty simple). ASP.NET webforms are still there but it is MVC that is catching a big momentum (if talking about Microsoft). Other non MS frameworks I heard of (but never touch them), your lovely ruby on rails and maybe java spring... Some people here are mentioning WebAPIs with rich client side javascript frameworks (AngularJS, typescript, coffeescript, etc.). I would use these if planning to do some apps on mobile devices. I would not bother if targeting purely website interface. Well, I think javascript is unavoidable today, but WebAPIs are not always needed I think. But then again, if you want to play with the techno, this can be good opportunity to lay the hands on ;P Last thing - the database. ASP.NET MVC seems to be working fine with multiple db systems (MySql, MongoDB) but if you are Microsoft guy, I think there is no reason to go further then one of MS SQL mutations. However if you are planning to use some ORM frameworks (Entity Framework, NHibernate, etc.) one thing to decide first would be the famous discussion Code First - Model First - Database First approach. Recently it seems that trend is Code First approach. The other two seem to me slightly less popular on discussion boards nowadays. Just my 20p to discussion ;-)
-
Kornfeld Eliyahu Peter wrote:
If you think to do it public you may find others to join in...at the end you can share with them the prize
Indeed, that is the intention! Marc
Imperative to Functional Programming Succinctly Higher Order Programming
I'm waiting...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
Judah Himango wrote:
There are some decent ones out there, such as Telerik's Kendo UI[^], but it's not really necessary.
Yes, I've been watching what's going on there.
Judah Himango wrote:
The hot new sexy thing everyone's worked up about is Google's AngularJS[^]. I've used this now on my last 2 web projects.
Yup, I'm looking at that. What ever happened to node.js? I see no one has been suggesting that? Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Marc Clifton wrote:
What ever happened to node.js
I had the feeling you are not a fan of JavaScript, so why use JavaScript on the server too... node.js is for writing server side code (like ASP.NET code behind) in JavaScript...It has good features, but it is not for everyone and for sure not for a site you talked about...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)