PDA

View Full Version : Best build for E-Commerce web site?


fx.barrett
10-21-2008, 08:22 PM
I have to build an E-Commerce web site for my one of my University projects and I want to know if there are any "best practices" for e-commerce web sites.. I'm quite sure that my professors will want to see an UML model but I'm not really sure what Design Pattern to apply if there's any ( honestly, I'd start building it right away without wasting time with patters ).

Anyway, I just want to know if there are any E-Commerce Web Site based design patters, something that really makes the app better, more open to change, abstracted and so on or there's no need to waste time with design pattern for something like this...

Thanks guys.

PS: I'll be building it in Flex 3 ( AS 3.0 ) + ASP.NET ( in C# ) + MS SQL.

yell0wdart
10-21-2008, 11:33 PM
I'd probably go with MVC along with a few other supporting patterns (ie: singleton for database access and/or interfacing with paypal, maybe a factory or abstract factory for strongly encapsulating object creation, etc). I'd make your AS3 code essentially be the view, and pass validated user input strait to C#... but my C# is much stronger than my AS... so that might just be a preferrence thing. ;)

Enterprise-level e-commerce sites (the good ones anyway) generally have a multi-tiered architecture.

mattkenefick
10-23-2008, 02:37 PM
Focus most of your time on security and server side.

You might as well consider Flash to be a skin in this case (cause that's basically what it is). People + Flash + e-Commerce tends to be a security catastrophe unless you know what you are doing.

Simple things:
Never ever put anything important in Flash.
Don't send any important names from Flash.
Clean every piece of transferred data going in both directions.
Referrer is pointless, so don't waste time with it.

Basically build a cart... then put Flash over top of it.

fx.barrett
10-23-2008, 10:27 PM
Thanks guys for the feedback, really appreciate it. I was thinking about going with an MCV model too so I think I'll be sticking to that. Matt, thanks for the advices I was taking all that into consideration althought some things are not really possible :) Like the "don't send any important names from Flash"... Since there will be a login system up and running, I'll have Flash send data to PHP and vice-versa but I think that is still safe and ok ( not really sure if there are any ways to make this even more secure but if they are and you know of some then I'd really appreaciate if you link me to the article/doc ).

Thanks again for the feedback. More feedbacks is welcome too.

Flash Gordon
10-23-2008, 11:06 PM
you need a good list of requirements first. Basically anything can be MVC, so that may or may not help any. I would think items can be group or represented seperately which makes me want to treat them as composites. But there is a lot to consider. What pattern....i dunno. what do you need?

yell0wdart
10-23-2008, 11:45 PM
I was thinking composite as a possiblity for shopping cart items as well. I suggested MVC due to the multi-tiered nature of the project. Flash = View, PHP = Controller/Model, etc.

I agree though... a clear picture of the project requirements would be extremely helpful.

fx.barrett
10-24-2008, 07:24 AM
Since this is an University project, there aren't really any clear requirements. Uni professors aren't as smart as people might think they are... They left the whole weight on my shoulder, planning and everything... So, essentially I'm free to do whatever I want.

I have never built an eCommerce web site before ( although I know what it should have ) and since this is a University project, I want to make it as good as possible ( so that at least I learn something from this ).

So, I too am open to any suggestions since I really don't know what kind of solutions, paths are out there for an eCommerce web site ( and which solutions are worth considering and which aren't ). I really appreciate your time guys. Thanks a lot.

Flash Gordon
10-24-2008, 07:38 AM
start making a list of your own requirements then and define what is a shopping cart and what are sellable products.

fx.barrett
10-24-2008, 08:28 AM
I'd like to do something like the Adobe Flex store example: http://examples.adobe.com/flex2/inproduct/lcds/flexstore/flexstore.html

I think that example kinda sums everything up, the shopping cart, how it should work, login, search, a list of mobile telephones ( with description, and everything ), a compare button so that users can compare 2 or more products, and so on.

Oviously, I'd have a login system where users can register and add new products, edit their products, delete products ( added by them ) and so on.

I don't want the project to be very very complex, my main goal at the moment is to get a correct structure which is well encapsulated and open for change ( something I can get started with ).

Flash Gordon
10-24-2008, 04:49 PM
sounds like you have 2 separate systems: the shopping cart and the CMS. I'd treat them that way. The complexity you talk about will come from the features you choose to implement.

fx.barrett
10-24-2008, 07:13 PM
I was thinking the same thing. :) Thanks for the replies guys.

tertiary77u
10-26-2008, 05:55 AM
start making a list of your own requirements then and define what is a shopping cart and what are sellable products.

I agree. You should plan first before beginning. Write down every function and how it relates to each other if necessary, also develop a page tree to map everything out.

acolyte
11-01-2008, 12:08 AM
I agree. You should plan first before beginning. Write down every function and how it relates to each other if necessary, also develop a page tree to map everything out.

the last time i had time to experiment with as3 i startet building a rubyAmf as3
Webshop where i tried to build my own crud interface via rubyAmf and it was realy fun daddling with this thingys .

i like RubyonRails alot because i like the flexibillity of using migrations and matsushita takahashi codestyle.

For security reasons i like sending base64/md5 checksums back to the server
within the result objects where the server handles decryption and encryption independent.