Welcome to WebmasterWorld Guest from

Forum Moderators: buckworks

Message Too Old, No Replies

Developing a large scale dynamic ecommerce site

where's a good starting point?



9:19 pm on Oct 2, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

I currently run a site for a company that has potential to do a GREAT mail order business. The execs are not real tech-saavy and do not see the potential, but I have been working them towards it slowly.

I have increased the site traffic (which currently serves as an information hub, and does really sell a whole lot of products), and the are starting to believe that there might actually be some profitability in this Internet thing:)

Anyhow, We have a HUGE inventory that is already managed by a Foxpro database. I am wondering where the best place to start to find a quality (albeit lowcost) way to make our products available online.

Any suggestions on the best technologies, sites to research or programs would be GREATLY appreciated.

I am planning on this being a large project with all the time that I really need, but I'd like to do it right the first time.


11:12 pm on Oct 2, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

Firstly, forget about the technology to begin with. If you start from "This is a neat e-comm product", and start beavering away, you will likely have a massive blowup somewhere down the line.

In almost all cases, an e-commerce project is (in business terms) a mail order process using a novel point of entry for the orders (there are some exceptions when you are selling intangibles, like time sensitive information, or software downloads, but even then, most of the "real world" stuff applies)

I'm not clear as to whether the company actually has an existing mail order set-up in place? It would be useful if they did, as they would then have much of the experience required to be successful already in-house. If not then the learning curve will be a bit steeper.

How to plan an e-commerce implementation project

You need to find the answers to several questions

1) Who are your customers?
2) What product(s) are you trying to sell? Why should anyone buy them from you?
3) What systems (hardware and software) will we need? Which do we already have?
4) Whose input and "buy in" in the client company does the project require?
5) Timescale? Budget?
6) Whose responsibility is it to oversee the project and make sure everything happens?
7) Should we use a packaged solution? Or a custom developed one?

There are others, but I couldn't spec the project without more info. For smaller projects, the answers to most of these questions are trivial, but it is usually still worth going through the process. It helps to stop you going off at a tangent, and to maintain your focus. You seem to be implying that this will be a fair size project in any case.

Once you have this information, you can start making some decisions about what needs to be done. You should be able to start building a profile of the e-comm system that you need.

For instance if you have a total budget of x, a requirement for hardware of y, your software can cost no more than z (where z=x-y. It seems simple, but many a project has foundered on even this small point). Making sure that the person who is responsible for the project actually has the authority to get things done is also good, and in extreme cases, even knows that the project is theirs.

You need 2 lists of features, "must-haves" and "nice to haves". Look at lots of options, and ruthlessly discount the ones that don't fit ALL of the must-have criteria. Don't worry, there will still be plenty on the list. Don't get fixated on "cool stuff". Yes, having the ability to translate your entire catalogue into Sarawak, then Korean, and back to English on-the-fly is cool... but will it move more product? NB bespoke developed software should have precisely the features you want, but bear in mind that you may be using this system for some time. The author may move/disappear, or be unable to support you properly, whatever, so I would in that case strongly recommend that you consider including an escrow agreement for the source code in the initial contract. This will protect both of you.

Knowing something about your potential customers is an absolute requirement. Example, a recent project for me involved selling to the academic sector, where Netscape is very prevalent. Our preferred e-comm product didn't produce NN friendly code, and the dev costs to fix it were to high. We have proceeded with a different product. It would have been very embarassing to have discovered after the sites launch that around 20% of the potential customers couldn't use it

Similarly, ask around in the client company, get the input of those who will be expected to use or maintain the other side of the software. Installing a clever SQL database is no good if no-one knows how to maintain it. Maybe they need a DBA, maybe you can build the tools they need into the d/base at the start, maybe it doen't matter much... but ask anyway.

Make sure that the client has systems to deal with incoming orders in place before you go live with the site. If they already have a decent amount of traffic, you can be fairly confident that some orders will be forthcoming over the web, and you really don't want to have to lose them, because noone knows how to d/load the orders from the website, or the fulfillment system doesn't come on stream until next month.

If, by some chance, the "Whose responsibility is it to oversee the project and make sure everything happens" isn't you, make sure that you do everything asked of you. If the project fails, don't let it be your fault (you stand a better chance of being paid that way)

What to do when it all goes wrong

... and believe me, for any project that you can't personally complete in one day, the odds are that at some point, a wheel will fall off. The longer the project, and the more people involved, the greater the potential for disaster. As a totally arbitrary rule of thumb, I reckon you'll get one "issue" (major or minor) per 100 man hours of work, on average (no figures to back this up, it just seems about right from experience). If you are working with one or more shaven monkeys in the team, maybe more like 10 man-hours. Sometimes they can be solved in 10 minutes, sometimes an extra meeting is required. Maybe you'll get lucky.

This is by no means an exhaustive list of the things that will need looking at, and I have deliberately avoided addressing a couple of things that stand out from your post, but if you want to get it right first time, this is a good place to start. A few more details about what you hope to achieve, and what you have to work with would likely produce more focussed answers

cyril kearney

3:24 am on Oct 3, 2002 (gmt 0)

10+ Year Member

You might consider using an experienced consultant to do the initial investigation and to develop a trial solution. The money would probably be well spent. Once you have worked out the approach, you may be able to do the actual development yourself or parcel out some of the technical stuff too.

ASP can talk to any ODBC database so it is conceivable that the FoxPro database could be used, but like the Access database it does not scale like SQL Server does. I mean it may be too slow.


10:53 am on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

some good points already been made. i'll add a couple more.

all ecommerce sites will have 3 main components - a catalogue, a shopping cart, and a payment system, and there are millions of different combinations of catalogue / cart / payment system. it's important to get it right first time to avoid long term problems. the bigger the project, the more important this is.

the shopping cart and payment system are purely web based so i'll come back to them in a minute.

the catalogue could be plain HTML pages or could be dynamically driven by database. the company already has a foxpro database, so they could upload it to a remote server as part of a stand alone website using ASP to display the content. but using a remote server can cause stock control problems - the bigger the business, the bigger the stock control problem.

a solution might be to run a leased line into their office and run the website from the same office based server they use for their database. this cures the stock control problem - when an item is bought through the website, the stock levels in the database will be reduced. but could that server handle the additional traffic to the site?

it might be better to run two machines alongside each other, one for the internal system, one for the website, each having it's own copy of the database. when stock levels on one database are changed, the scripts automatically update the other database. this may work, but may not work well and increases the chances of something going wrong.

you could updrade their internal system to use a bigger and more powerful database server (probably using SQL Server) so that both web and internal systems use the one database. this would be my preferred option. of course, this is the most expensive solution, but it's also the safest in terms of maintenance and stock control etc. ideally the database server should really be "failsafe" in that it would have RAID and twin processors etc - any one component fails, the server will continue operating although maybe slower.

once you know what backend systems you will be using for the catalogue and how they will work, you can plan the shopping cart and payment systems.

they already have a foxpro database and all options so far appear to require windows based systems, the cart will need to run on windows servers. an ASP based cart will do the trick. the same cart could be used whether the site is hosted in the office or on a remote web server.

for the payment systems, as it's likely to be a large business, it's best to automate as much of this as possible. will they really want to employ people to sit there punching in credit card numbers all day when for a little bit extra in transaction fees, they can have the system fully automated? will they want to employ someone to manually adjust stock levels after every transaction? automation is likely to cost a lot less than employing people to punch numbers all day.

look at the various options available for payment solutions that instantly process transactions and return customer and order details to the site. paypal probably won't be very useful! look at how else you can use the details returned by the payment system - you could save all customer details to the database so you can send out newsletters or special offers by post or email (remember to give customers the option of opting in or out of this).

customer and order details in the database also opens up the possibilities for identifying trends and targeting customers - this can be extremely powerful and can make or save a fortune. (this is an entire subject on it's own so i won't go into it here).

i've only covered some things very briefly, but you can see there are many options and many things to consider. but you have 2 major obstacles to overcome. firstly, the company are not convinced yet - you will need to convince them by showing them the possibilities. secondly, if you do convince them to go ahead, you need to be able to fulfill the possibilities, or someone else will.

offering a basic ecommerce site with a half-baked solution will be doing them a disservice and will backfire on you in the future. you need to be able to show them ALL the possibilities and be able to carry them out. if you can't carry out the ultimate solution, find someone who can. don't be afraid to employ others to do the work you can't - you'll still get the credit for designing the system and you'll still get paid comissions for designing and arranging everything.

if you try to do it all on your own, you may find the workload is too great and you don't have enough time, and they may ask someone else to take over. someone else will then get the credit for your ideas and your work.


3:54 pm on Oct 3, 2002 (gmt 0)

10+ Year Member

The idea of hiring a consultant to help you out is an excellent one.

Some of the larger interactive firms in my area will quote a flat fee to come in and basically do your initial project planning, requirements, etc.. for you. Basically, they build an RFP for you. Yes, you could create your own RFP, but RFPs are almost always woefully inadequate. You can ultimately save yourself tons of time, energy, money and frustration by knowing EXACTLY what you need before you start building anything. If you, or anyone in your company hasn't gone through this process before, the learning curve to get you started will be pretty steep. You are much better off hiring someone to guide you through the process so that you can learn from their past mistakes.

Just a thought. I'm sure wherever you are, there are plenty of firms or independant consultants that could come in and do this for you. It usually costs quite a bit less than starting a project and finding out you're doing it wrong.


4:13 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

Wow......You guys rock!
I'm gonna have to re-read all this information to digest it all, but I appreciate your in depth responses.

Let me see if I can give you a little more background as to the variables in my situation.

I'll start first with TallTroll's questions
1) Who are your customers?
2) What product(s) are you trying to sell? Why should anyone buy them from you?
3) What systems (hardware and software) will we need? Which do we already have?
4) Whose input and "buy in" in the client company does the project require?
5) Timescale? Budget?
6) Whose responsibility is it to oversee the project and make sure everything happens?
7) Should we use a packaged solution? Or a custom developed one?

1) We are a hospitality based company that has a VERY large tourist type retail division. This retail division includes several stores that all use the same retail (foxpro) database backend

2) I'm debating whether to start small, or 'go for the gusto'.....we already have a small store through a well-known online e-tailer, but they offer little flexibility as far as design goes. We could feasibly sell anything that we sell in-house online....right now we are just offering a few food-related products, gift certificates, and such, and they do surprisingly well for what is offered.

3) The database already exists -- I would probably set up a batch to somehow run at night to send the data to a flat text file so it could be used for any sort of database......my boss is a hardcore programmer/dba, so that is more his end of the deal......hardware may be an issue as our webserver is a decrepid pentium 2 linux box (with no casing sitting on the floor right now)....My biggest problem right now is that I don't have a budget.......as far as hardware & software go I am looking for the cheapest, simplest, most powerful available (but so is everybody right?:)) The entire database is over 20,000 items, but I think I will try to start with 1 division with about 1,000 or so items to test on a little smaller scale to begin with. I will also have to get pictures for every item that we plan to make available.

4)I actually have two bosses.....head of marketing, and head of IT....the IT boss is my buddy, and he's gonna help (it's his idea too).....and we have to convince the head of marketing that they can make money from it.

5)Almost non-existant budget to begin with. Work with the tools I have type thing. I can probably get a better server to run whatever I decide to run on. The system I decide to go with is my biggest decision right now, because I basically have to learn and implement it on my own. Time is not an issue, as no one is counting on this but me.

6)My responsiblity

7) Most likely a packaged solution -- budget is my biggest issue

Okay....other variables....
Positive..... Mail-order department is already in place.....
they have a good mail order business that they sent PRINT catalogs out for every year (they don't understand how much money they could SAVE!)
I have basically no backing, and nothing to go on. They want me to continue updating this small ecom site that is hosted elsewhere, and I want to prove to them the potential their mailorder business has.....they're basically saying.....'yeah...go ahead, just don't expect much help'

My biggest question is as I said, the technology/software issue.....which should I dive into head first that is going to send me in the direction that I am looking with the least setbacks? I currently use DW as a html editor, and I have seen one extension that claims to be a scalable ecom add-on for it......I know nothing of ASP or PHP at this time. I guess it may look like I'm biting off more than I can chew here, but God gives me big dreams so I can grow into them.:)


4:34 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

Okay....I re-read all the posts, and I guess a little background on me might be a little helpful as well.

I originally started with the company (in IT capacity anyhow), as the assistant network admin. We host our site in house (as I think I mentioned). Within the last month, the graphic artist quit, which gave me the opportunity to take over the company website (my true passion).....I overhauled the entire 200+ page site (mostly information that was already their).....basically just applying each page to a template with a fancy nav bar(used to be frames), and adding titles, h1 headings, better descriptions, keywords, and the likes to the pages. I thought it came out lookin' pretty spiffy:) Traffic has increased to a modest 400+ unique visitors per day, from about 250+.....and most of our referrals still only come from a search for the tourist town that we play a large part of. A lot of our business (even mail-order)...is repeat visitors with a majority being over the age of 35.

My next thing was going to be to update the webstore, but I figured why not make it a little larger scale, since the potential is definitely here. I think I'll wait for a little more feedback/ questions before I post the rest of this novel:)


5:36 pm on Oct 3, 2002 (gmt 0)

10+ Year Member

It depends on what your profit margins are, but for me, I feel like I need to have over $3,000 a day in sales to justify the investment in a database driven website. Expect to pay $10,000 to $50,000 to develop a profesional asp, java or coldfusion site. Then there is the expense of ongoing changes etc.

If the business is the one in your profile, why not start off by adding a simple java cart module to the products page (some pictures of the products would be nice too). When your online sales start to stress the non-database cart - start work on the dynamic site!


7:21 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

It's not the site in my profile......
that is just a smaller side project (although I would like to improve her e-commerce offerings as well)....and I agree that pictures definitely would be a great addition...but I hate when I have to BEG someone for product info....it shows me that they are not as dedicated as I feel that I am......anyhow....just wanted to clarify....that's not the site I'm developing.....but the existing storefront is hosted through the same company as that storefront...


7:25 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

>Expect to pay $10,000 to $50,000 to develop a profesional asp, java or coldfusion site. Then there is the expense of ongoing changes etc.

Well....I guess I am hoping this is what will get me a nice hefty raise.....I am leaning towards coldfusion since I am already fairly familiar with that vendor, and have always been happy with them.

I guess I'm looking for my starting point....I want to have all my 'ducks in a row' before I really start to hammer away at this thing.....

I've never touched CF....but always wanted to....guess now I have my incentive to learn.


7:29 pm on Oct 3, 2002 (gmt 0)

10+ Year Member

we use cf too and have 4 cf sites up - get ben forta's book - figure on 6 mos. to get proficient. cf guys get between 20 - 60 per hour and the hours add up - doesn't take long to get to $10,000!

good luck!


7:49 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member tedster is a WebmasterWorld Top Contributor of All Time 10+ Year Member

On a slightly different wavelength, I highly recommend buying the Neilsen Norman Group's e-commerce usability study (E-Commerce User Experience). It gives you many real world insights from a high-end consultancy firm. Considering some of that up-front may impact your technology choices.

Another issue may be the supply chain. If you think you may eventually need data interface with suppliers as your website scales, that can be a big issue (heterogenous platforms and all that). A lot of big sites head for java for to provide platform independence. Java can also help you if you have some odd legacy stuff in-house.


8:28 pm on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

You guys are giving me great ideas, and I wish I had ya all on my development team (that is, if I HAD a development team:)

but I think this is what I am ultimately looking for:
A turnkey solution to do 1,000+ items generating pages dynamically from a database(though preferably not server-side), that will run on a linux webserver.

Does anyone know of any good PHP or Perl driven programs that may satisfy my needs?


8:26 am on Oct 4, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

IMO, you've just taken your first step down the wrong path - you're choosing the operating system and programming languages prior to identifying the requirements and the possibilities. you are creating potential compatibility restrictions that could cause major problems later on.

remember they already use foxpro and may well have an internal system running windows. the ideal ultimate solution will always be one that requires least development, least maintenance, most automation, all leading to least cost and most efficiency. if you specify linux / php, probably on remotely hosted server, then you introduce a number of restrictions such as the inability to automate stock control and the need to update 2 database systems instead of one. you also remove a large number of simple but powerful upgrade paths - you will very likely eventually force the company to go back to square one and replace the site or replace their internal systems.

take a step back, plan the requirements (ie, all the ways the system could technically work) without specifying hardware / operating system / programming languages / databases etc. plan everything. take their existing systems into account. once you have the ultimate solution planned out properly, you can then specify the hardware / OS / programming languages etc and look at the various options in each.

you've already had a number of hints that a windows / ASP based web solution may be the most suitable - the foxpro database, the fact that they have an internal system already, the possibilities for automation etc. remember that you are creating this for a company with existing systems so you must work with them in mind. specifying OS / programming languages etc from the start may be fine for a new site for a new business without any existing infrastructure, but not for this business.


Featured Threads

Hot Threads This Week

Hot Threads This Month