Need advice on E commerce development in MVC - asp.net-mvc

I have to create a eCommerce store in ASP.NET MVC having some custom features.
After through R&D I have sort listed three major eCommerce frameworks available-
nopcommerce
smartstoreNet ( SSNet)
MVC Music Store
Later after more R&D I have selected smartstoreNet as a base for further customization.
After R&D for weeks still I have many doubts & confusion about smartstoreNet (SSNet), would be more than happy if some one guide me in right direction.
Please take a look at my questionnaires:-
I did not found many review of SSNet on web & on Stack overflow, Please share your experience if you have work with the SSNet. How fast & flexible it is?
2.custom Theme creation or Updation document is not in detail, so how to integrate custom or designer's html/css in its theme
suppose I have added some custom functionality in the framework how it would be affected when I update the SSNet framework to newer versions, should I use custom plugins or keep track of my custom development & re -implement everything after version updation.
How efficient the system to handle medium load eCommerce shop having 500-1000 products, speed can't be compromised.
There is a ongoing legal battle between NopCommerce Vs SSNET, how it could affect SSNET users in future in case they lose the case.
I don't expect you to answer all questions :) still pointing me to right direction would be a great help.

I would also select an e-commerce framework/store that is based on the ASP.NET MVC framework.
I have worked through the MVC music store code a while back while learning ASP.NET MVC. I do not know where you stand with ASP.NET MVC but if you are looking to go e-commerce and looking to up your programming skills by using this framework then MVC music store might be a route for you to take. It will put you well on the path of learning this framework. It is really a basic e-commerce store.
If you already have some basic ASP.NET MVC knowledge and looking for something more advanced then I would look at nopCommerce. It is a well thought out e-commerce store and it can easily be customised and extended. You can create your own modules or have them developed for you. It is also easy to setup even if you don't have ASP.NET MVC knowledge - just follow the on screen instructions. It sounds easy right?
I don't have any experience regarding smartstoreNet. If I were to choose one out of the three that you have listed then it would be nopCommerce.
I wouldn't worry to much about any legal battles at the moment - don't let it affect your decision.

Don't know much about SSNet but here's my take on the other two (that i can remember on top of my head :)
nopcommerce - this is very easy to setup. it's extensible bec of support for adding pluggable components/features.
MVC music store - might be too basic for your needs.
Again these are just my thoughts as well based on what you describe for your requirements. Hope it helps. Good luck!

Use MVC, reasons are :
1- Easy to develop, optimize, maintain and make modifications.
2- its scalable and provide everything that a website needs. Dont just look at mvc music store, MVC is highly scalble
3- You can find support while developing mvc on many websites and stakeoverflow also.
Good luck :)

ASP.NET MVC based site is a good choice if you want to control the logic and behavior of the site at a low level. It will take a lot of time/skill/experience to do your own customizations though.
A couple of other out of the box solutions you may want to look at are Magento and Prestashop. These are fully functional ecommerce systems that you can extend with plugins, so quite different to the approach of coding the site yourself. But you may save a lot of time by going with an out of the box solution.
I'm not familiar with SmartStore.Net other than when previously researching this topic myself I was leaning more towards Magento and Prestashop since they had better ease of use.

Related

Should I move my solution to Orchard CMS or add everything manually?

At the moment I am building a big project using:
ASP.Net MVC 4
jQuery (With some extra libraries)
Castle ActiveRecord (based on NHibernate)
Implemented users and roles using .Net Membership Provider
I built almost all the website, but some very relevant parts are missing still and I noticed that this CMS supports
ASP.Net MVC and NHibernate, and have almost all the features that I need already implemented.
The features that I still need to implement are:
Internal Search Engine
Comments
Version of content
Chat betwwen users
Users Profiles Page (Something like a very basic social network)
Forum
SEO
I don't know if is harder to use the CMS or if is better to add the features one by one manually.
I am worried about the time I spend learning and adapting to Orchard is the same time I would spent adding this
features manually.
Basically, the question is:
Should I move my solution to Orchard CMS or add everything manually ?
You can't just move your solution to Orchard, you could but i won't recommend it. Orchard is still MVC 3 at the base and that way most should work if you just move your solution including the database etc. But if you ask me, spending time to add the features manually is the way u should go.
In the Orchard Galery you can find existing many modules
Internal Search Engine
Lucene (Fully functional - Writen by the Orchard Team)
Comments
Already exists in the Orchard Core Module
Version of content
Already exists in the Orchard Framework functionalty
Users Profiles Page
Profile (Fully functional? Or at least good enough as example)
SEO
Several modules
Only 2 features u will have to write yourself
Chat between users
I can't find any example code for this, but I know Piotr Szmyd has tested SignalR inside a Orchard Module which, I think, will be usefull for a Chat module. Demo is here.
Forum
Nicholas Mayne made a start of a forum module which can be used as example or starting point, maybe you can help him extent it? Currently it's sort of a pre-alpha version :(
+1 to rfcdejon's answer. I ported my current project to Orchard after at 50-60% complete. I wish I had done it sooner due to the learning curve and time to integrate all the stuff I had already written, but overall it was the right choice.
If you have significant data already set up you should account for the extra time it will take to port that into Orchard. But if you are making an app from scratch with very little existing data that would make the switch to Orchard easier. Orchard is a great choice for anyone looking for a .NET CMS that supports MVC.
Some things to keep in mind:
Features you've already built will have to be converted into Orchard content types/parts in order to take advantage of things that come out of the box with Orchard, like search, comments, versioning, etc.
Orchard has its own users/roles system, so you might have to do some work to find a module for what you're already using, or override Orchard's user/membership system yourself.
Your entire app will have to become an Orchard app, and your existing MVC stuff will have to convert into an Orchard module. Existing data access code will have to be wrapped inside a using (new TransactionScope(TransactionScopeOption.Suppress)) {...}
Forums project has started but isn't done, so you will either be banking that it will finish in time for you to use it, or that you will be able to help get it working.

Umbraco with bespoke application

For the my project I am currently umbraco platform as CMS to work with other Bispoke (custom) application that is going to be developed in MVC3. The scope of the project roughtly is as follows:
1) Product Download & Deployment (Bispoke)
2) Product Documentation (CMS)
3) Suport (tickts & its workflow cycle) (Bispoke)
4) Blogs (CMS)
My question is what is the best approach to use Umbraco to integrate it with Bispoke apps? There will be some functionalities which will be shared between CMS and Bispoke apps.So I would like to get these two under one roof.
Any idea how to achive this?
Thx
This is quite a broad question so it's hard to answer definitively.
However there are some areas that you need to watch out for.
Firstly take a look at this question which talks about MVC and Umbraco integration:
MVC and Umbraco integration.
Next is the question of shared functionality. This is a broader architectural issue. In this case create a business logic layer which can be used by either Umbraco or MVC. That way you can share the functionality and keep the actual MVC and Umbraco portions of the app nicely separated.
The biggest issue will be sharing of things like templates or UI code that could be shared but implemented differently depending on if it is being consumed by MVC or WebForms.
It's rather hard to be any more specific.

Orchard for custom websites

I've just installed Orchard and created a sample site. I want to evaluate this CMS to see what it's capabilities are if I could choose it for my CMS of choice for ASP.NET MVC based sites. Has anyone used it to run a custom, highly modified website? Unfortunately no sample sites are provided at Orchard site to see it in action.
I know what my requirements will be and those are quite demanding. I have my own little CMS in ASP.NET MVC 2 which I tailor to my needs anytime I want but it lacks a lot of functionality that you get when you have a bigger team of developers at your disposal like the Orchard has.
The best way to reply to this question is if you can provide some insights into customization and if you can provide a link to a working site.
There are a couple sites out there.. Here are three I have worked on...
These two were for a University, they have a contact us page, Payment system, and also hooks in to multiple databases with a large set of business logic for students and payments. The Registration system also has an updated menu template to deal with drop downs.
http://housing.bathspa.ac.uk/ (v0.5)
http://registration.bathspa.ac.uk/ (v0.5)
My blog jsut has a modified theme which was enough to get me up an running.
http://www.themayneissue.com/ (v0.5)
There are a few open source modules I work on as well..
http://orchardopenauth.codeplex.com/
http://orchardblogml.codeplex.com/
These also allow for customization of the Orchard system
There are two community sites using Orchard, Orchard Gallery and NuGet gallery.
For now me with my team is being writing an appication for nearly two months using Orchard and the only thing I can say is that it is awesome!
Yes, Orchard is very simple for now, but it is so powerfull in the same time. I just love their dynamic shapes and content types. Use it and you'll love it!
And as a bonus:
Just get code from repo and look through it, it shines like a diamond (the only problem is lack of comments). I am sure every MVC developer will find a lot of stuff to learn from it.
There is another web site developed using orchard.

Why have or haven't you moved to ASP.NET MVC yet? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I find myself on the edge of trying out ASP.NET MVC but there is still "something" holding me back. Are you still waiting to try it, and if so, why? If you finally decided to use it, what helped you get over your hesitation?
I'm not worried about it from a technical point of view; I know the pros and cons of web forms vs ASP.NET MVC. My concerns are more on the practical side.
Will Microsoft continue to support ASP.NET MVC if they don't reach some critical threshold of developers/customers using it?
Are customers willing to try ASP.NET MVC? Have you had to convince a customer to use it? How did that go?
Are there major sites using ASP.NET MVC (besides SO)? Could you provide links if you have them?
Did you try ASP.NET MVC and found yourself regretting it? If so, what do you regret?
If you have any other concerns preventing you from using ASP.NET MVC, what are they?
If you had concerns but felt they were addressed and now use ASP.NET MVC, could you list them as well?
Will Microsoft continue to support ASP.NET MVC if they don't reach some critical threshold of developers/customers using it?
They will for sure.
Are customers willing to try ASP.NET MVC? Have you had to convince a customer to use it? How did that go?
Customers care about high quality products and price. Just convince them that Mvc will help to raise quality and lower price. Shouldn't be hard.
Are there major sites using ASP.NET MVC (besides SO)? Could you provide links if you have them?
Isn't it enough with SO? :)
Did you try ASP.NET MVC and found yourself regretting it? If so, what do you regret?
I did try and didn't regret it at all. It kills me being forced to work on web forms project again.
Go for it!
I believe ASP.NET MVC has reached that critical threshold, as evident by VS 2010 tooling, ASP.NET, MS employee blog and the extensive effort Microsoft put into the framework thus far. I don't see this framework perishing in the next decade (or two).
By customers, I assume you mean people that I build websites for? The only issue I find with ASP.NET is the hosting solutions. However, this issue is becoming moot as more affordable hosting solutions are found. But usually, if I believe in the technology and that it will work for my customer, my customer trusts me and agrees on it. The customer is also usually comforted by the fact that ASP.NET-MVC is a Microsoft product. Having a big company behind a technology is always a nice thing to have, since you can rest assured it will be supported for quite awhile with frequent updates.
ASP.NET MVC is a relatively new framework, and slow adoption of new technology is expected. But this is what I found: http://weblogs.asp.net/mikebosch/archive/2008/05/05/gallery-of-live-asp-net-mvc-sites.aspx . I think you'll see a big influx of websites using ASP.NET-MVC this year when VS 2010/.NET 4 are released with built-in support for ASP.NET MVC.
I never enjoyed developing with C#/ASP.NET more than when I started using ASP.NET-MVC. To a certain extent, ASP.NET-MVC forces you to write good code more so than WebForms due to ASP.NET-MVC inherit separation of concerns and easy customization. And the ability to control HTML output is essential, a feature that was difficult with ASP.NET-WebForms (pre 4.0).
I use MVC and hate it, especially, the front end, web form are far more better in the front end... With loads of javacript on the page, that means it is hard to maintain and take a longer time to develop and debug..
To do a very complicated page, the flexibility of MVC is limited, you will end up with using a lot of javascript control, and you know what? Different controls use different version of jquery, and they have conflict..
It is actually the javascript, and lack of UI flexibility that pulls me off, especially you are NOT working on your code
and we have more issues of browser compatability, with the new browsers coming, you are going to shoot yourself with MVC
MVC front end is very fast if your web site is not too big.. The backend of MVC is very good, it is the front end that blows it over
Why not? The rest of my team doesn't want to.
I have not yet actually tried coding up some ASP.Net MVC(looked at a few examples though) but the main thing holding us back from using it is that all of our code is currently written using Webforms.
Regarding Microsoft support ASP.Net. First Scott Guthrie, the VP of Development at MS is behind it, so that's one feather in its cap. Second its open source now so even if for some strange reason MS decides not to support it going forward you can still tweak it on your own if you need to. In addtion the MVC pattern is somethign that more and more web development platforms are using. It is a great pattern for web development and as a result I can't think of any reason MS wouldn't continue to support it.
If by customers you mean end users, honestly they shouldn't care how you implement the site. If by customers you mean consulting clients, if you can develop faster and they have the servers that can host it, I would think they would be open to it. On top of that youre MVC sites should use less bandwidth than a typical Web Forms web site (IMHO) mainly because there is a lot of additional stuff put into a Web Forms page (for example extra attributes in the HTML htat are tailored for web forms, ViewState) so that should be seen as a positive by them. Now if by customers you mean people integrating with you, then its also a plus since MVC makes it very easy to implement REST based web services (not that WFC doesn't but MVC works very nicely as well).
Hmm major sites using MVC, so far I've found a list here I also know of a number of apps at different companies where large scale MVC apps are in development. I wish I could give more detail, but unfortuantely I can't at the moment.
When I first started out with ASP.Net MVC I thought I was going to hate it. I wasn't a huge fan of Web Forms either, but MVC just felt like a step back to ASP development back before .Net came out. Then I started really getting into it and really finding the pattern is clean, concise, extensible, maintainable, and easy to pick up. Honestly I don't want to ever go back to Web Forms, and anytime I find myself doing a .Net web app I make a point of making it an MVC project.
You need to choose what's more appropriate to your product. Webforms has a few things to recommend it over mvc in some situations.
The big one is a developer working on in-house tools at small to medium shops. In these circumstances:
Large viewstates are not likely to be a problem, because your users typically have 100Mbit upload to your web server rather than a measly 128Kbit or less.
Javascript is likley to be supported by everyone
Development time matters more than widespread cross-browser compatibility or even nice design.
You're likely stuck working with inherited devs who used to do desktop/forms style development, or have a lot of churn among junior devs who don't really know web development.
All of those things together mean that webforms is still a very good fit. And let's be honest: a lot more programmers work at these small to medium in-house shops than do public internet work. So webforms isn't going anywhere.
That said, one of the big things coming up among these small shops is likely to be taking their internal tools and making them available offsite for telecommuters. In that situation, you need to start worrying more about WAN performance odd browser issues where MVC might be a better fit.
Dell is hiring masses of ASP.NET MVC developers in Texas and India for major work on many of their websites.
According to The Gu, ASP.NET MVC will have it's own product and development cycle. It is now 100% detached from ASP.NET WebForms and it's not going away.
Did you try ASP.NET MVC and found yourself regretting it? If so, what do you regret?
I do not regret trying out MVC in fact I love it. When I started it out I hated it I kept looking for the code behind file and was unsure at first how to get values out textboxes and stuff without going textbox1.Text;
Now I cringe every time I go back to webforms and wish I could write it in ASP.NET MVC because I just love how your working with html instead of using drag and drop controls that usually make your life alot harder if you got to customize them to much. I love how ASP.NET MVC likes to focus on good code like design patterns such as the Repository pattern and how to do unit test using TDD.
I have not picked up a book yet in MVC where they talked about how to make good code. I am not saying you can't write good code in Webforms but in the books and classes that I seen teach ASP.NET this never seems to be a main focus.
Like for instance I hate the datasource controls I am tutoring some people in WebForms and they love to drag a datasource in and then write their SQL statements in that datasource. Then in the code behind they use these datasorces to insert their records.
So every time they need to make a new SQL query a new datsource is dragged on and made. So now you all your logic is all mixed together. It makes it so much harder to find out whats going on, switch to different things if needed then of course it is limiting.
Something that revolves around the name "controller" can only mean problems.
I tried following the Nerddinner http://www.asp.net/mVC/ tutorial this morning. I'm comfortable in webforms, but nothing in that nerddinner tutorial made sense, just an outdated, hardcoded recipe from mvc1.0 that dosent even compile with the current mvc2.0, probably Wrox made this tutorial, only they can come up with only formating and no content.
I didn't see anything in there that was good; a bunch of hardcoded conventions I didn't need.
I certainly didn't see anything in there that would make me say I'd want to move from webforms, although this seems to be all the propaganda I read.
They put this tutorial based around wizards, on http://www.asp.net/mVC/ main page, while claiming the model is lean, all of it is generated code they don't explain, the default mvc template project has something like 15 references.
This 2 page website managed to be slow to build and to load.
Was 30 minutes in it until I realized my data model didn't match the one from the tutorial and many things that had been generated using the create controller and create view wizards were now failing.
With what I was provided in the rushed tutorial, I wasn't able to recover the project. I'll just pass until I find better documentation.

Are there any cms system in asp.net mvc like drupal

I'm new to asp.net mvc world. Are there any cms system based on asp.net mvc like drupal (php, cms, plugin modules). I dont like dotnetnuke because they use webform and difficult to extends.
thanks
Without having too much Drupal experience, Umbraco is a nice choice if you want .NET (despite the fact that they have an animated favicon). There's professional support also if you need it.
I am surprised nobody mentioned Orchard.
Basic Orchard Concepts
Orchard is a Web CMS, which essentially aims at helping you build web
sites from existing pieces. Those pieces come in a few different sizes
and shapes that need to be well understood if you're going to be
productive with them. This article will go through those pieces and
explain their names and behavior.
More info: http://docs.orchardproject.net/Documentation/Basic-Orchard-Concepts
BeerHouse.
From their website:
TheBeerHouse is a website developed with pure ASP.NET 2.0 which includes a number of features and modules that you expect from a typical CMS / e-commerce website, such as:
* Layout with user-selectable themes.
* Membership system with registration, login, profile setup and complete administration.
* Content management system for publishing and syndicating articles and photos, with support for categories, comments, rating and profile-based personalization.
* Opinion polls with support for multiple active polls and archived polls.
* Mailing lists with support for HTML and plain-text newsletters, background transmission and real-time AJAX-based feedback.
* Forums with support for multiple categories, custom pagination, avatars, signatures, moderation, and complete administration.
* E-commerce store with support for real-time credit card processing, with support for multiple categories, percentage discounts, zoomable pictures, ratings, availability display and more.
* Homepage personalization with webparts.
* Localization.
I didn't think DNN was difficult to extend, but I don't have much experience with it. ASP.Net MVC wise there isn't a huge amount, which isn't surprising considering it's not actually out yet :-)
The main, if rather simple, one is Oxite which is on CodePlex. It wasn't considered a particularly "good example" of MVC when it was first released, but there's been quite a lot of refactoring help from the community so it's worth looking at. It is only a relatively simple blogging thing though, rather than a full on CMS, so don't expect Drupal :-)
I'm currently playing around with the N2 cms. I've not got my head fully around it yet, but you can plug it into web forms or asp.net mvc (they have some sample sites for both platforms). It can use a wide variety of database platforms as well due to nhibernate. It basically sorts out the back end so you can concentrate on the front. N2 cms click here
I can recommend to use MojoPortal, it has a great Framwework and it works perfectly on Linux and Windows :) the url is => http://www.mojoportal.com/
you can also have a look at: http://cmsmvc.codeplex.com/ which is a CMS built using asp.net mvc with plugin and theme support
There is a project going on to port Drupal to .NET platform named Drupal.NET which is currently under development.

Resources