Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recommendations for creating a new website with "application"-like features in .NET [closed]

I am a member of a non-profit organization that has asked me to help them redo their website.

However, they don't simply want content and design changes, they also want features that require some back end programming. For example, the organization has "classes" with limited slots available that folks must sign up for in advance. When people sign up for the classes, there is additional documentation they must provide in order to be able to attend the class.

They have several requests in this genre that they want added to the site.

If it was just a simple redesign of their existing content, I would just recommend they use something like Wordpress or any other standard CMS to update their look. But since they also want these additional features, I am not certain how to proceed.

I have not yet had an opportunity to program an MVC site, so I thought I would use this as an opportunity to learn MVC. At the same time, I don't want to reinvent the wheel. So I was considering a CMS such as Orchard, that used MVC but was apparently quite extensible.

Does using Orchard make sense for this scenario? If not, why not? Are there any other recommendations for a CMS? I was looking at Umbraco too since it seems their latest release is using MVC, but then I read that it is a little bit buggy and missing some features that their older version had in it. So then I wasn't sure if that would be the right way to go.

In the end, I'm not even sure if I should be going with a CMS at all! I wonder if I would learn MVC better if I just did an app from the ground up. In that case, I was considering using a CMS for the web content, and then programming the "application" portion as a separate web application that was linked off their main site (perhaps register.mysite.com).

I'm just looking for recommendations and guidance. How would you proceed if you were in my shoes?

My day job is a developer at a large organization. I mainly program business web applications using .NET. But we haven't had any MVC apps come my way yet, so my MVC skills are essentially non-existent. I want to learn MVC, but I also want to get something back to the non-profit in a decent time.

.... so ya... there it is...

like image 514
Amanda Kitson Avatar asked Feb 18 '12 23:02

Amanda Kitson


3 Answers

Using an open source CMS is not a bad idea, but I personally prefer not to use them. Even official ASP.NET site is using Umbraco.

I don't recommend using WordPress because it's written in PHP and you are a .NET developer. WordPress is powerful and extensible, but surly a .NET based CMS would be better for you. You can understand it completely and make any changes you want.

I personally prefer to develop my own framework and environment. Why? Because in my opinion, an open source CMS framework gives more power than needed and developing modules for it is sometimes a big challenge. Most of the times I can develop what my client wants as a simple web app. The client doesn't want CMS powers(like: Adding pages, adding news, etc.) so I go with my own framework. But remember this is just my personal opinion.

Back to CMS:

I haven't tried Umbraco, but I took a look at Orchard's source. It's really big! The code is really sophisticated!

If I were in your shoes:

First I would test Open Source CMS (specially Umbraco which is built using MVC). I would develop some Hello World! modules for it and if it was nice and easy, I would go with it.

But normally I end up developing my own web app. I use MVC and I suggest you use it too.

Here are some nice open source apps developed using MVC. Also design patterns like Unit of Work, Repository Pattern, etc. are used in them:

http://shrinkr.codeplex.com/

http://kigg.codeplex.com/

http://nerddinner.codeplex.com/

like image 57
Afshin Gh Avatar answered Nov 11 '22 21:11

Afshin Gh


You are not going to get this done without writing custom code even with using umbraco/joomla or any other CMS. Since you already have web development experience.... give MVC a shot. Core coding is the same... MVC makes lot of design easy and structured.

like image 20
ZVenue Avatar answered Nov 11 '22 22:11

ZVenue


I would go with an MVC application for this simply because it will be a great learning experience for you and something really good to add to your resume. Anyway if you're not familiar with any of the current CMS solutions out there it will probably take the same amount of time to setup, configure and code the modules you want as it would to make a simple MVC app from scratch.

like image 29
Four_0h_Three Avatar answered Nov 11 '22 21:11

Four_0h_Three