And how long would it take to complete (minus the graphics polishing)? Please assume it's being built in PHP. (Any compelling reason not to go with PHP?)
Many thanks, in advance!
And how long would it take to complete (minus the graphics polishing)? Please assume it's being built in PHP. (Any compelling reason not to go with PHP?)
Many thanks, in advance!
If you get a team of web developers (around 2-5) and they work full-time, you can get a fully functionally site in about 1 month. BUT it's going to cost you alot of money. It's not easy to find successful and seasoned developers that aren't already working with companies.
I don't see why you can't use PHP to develop your site. It's easy and fast. However, you need a good framework and design so it's easy to edit, etc.
2 days is not possible for a site that's going to be big.
I would imagine the answer to be several man-years of effort. The requirements are vague, so I can only give a vague figure - we don't know the full spec of eBay, the competencies/skills of the team you have, available infrastructure, budget etc.
But, whatever figure you get, you should probably double it. And double it again when reporting timescales and budget to management. And double it again, since the last 10% takes 90% of the time.
I think many people are responding as if the original poster was asking for an exact duplicate of ebay. You can get a out of the box copy of an auction site up in half a day.
No site is ever "done" not even ebay itself. Time spent on the details will always show through.
Getting your site to ebay stature will be largely a marketing issue as I believe was previously mentioned. Once your site is up and running, assuming it becomes successful, you will find scaling to be the largest technical issue.
If you mean ebay as in "basic auction system", you could get a very bare bones version running in less than a day. They're not hard.
If you mean "ebay" as in "make a complete clone of ebay.com's business as it stands today", you're looking at multiple years of work. The auction portion of ebay is actually the easiest of it all. You've got all the billing, management, fraud-detection, security, etc... systems to consider, and none of these can be dashed off with a few lines. You're not going to find something like:
<?php
require_once('ebay.inc');
$eb = new eBay();
$eb->go();
available out there.
After all that, the real question boils down to "why would you want to replicate ebay?". There's been plenty of contenders and they've pretty much all fallen by the wayside. Starting an auction site and getting it up to a critical mass of users (ie: having enough auctions that people would WANT to come to your place to look for things) will cost far more in marketing than it'll cost to develop it in the first place.
There are two key points, here, that are missing from your question.
What ends up happening is that you hire some number of people, say 3-5, and work for a couple months until you have the first thing that, "works." It really doesn't matter how they build it. At this point, you look at and sort the things you:
and, based on your progress so far, you start pruning features down to the leanest thing that addresses your business agenda and that lets you release ASAP. If you don't release ASAP, your project gets mired. It's better to release something sub-optimal and work it out. Besides, you will not be a mega-hit as soon as you hit the internets, nor again will you ever be done developing.
You will release several stages of the product:
The answer was provided combining the insightful and helpful replies from many stackoverflow folks -- particularly Andres Jaan, Code Duck, Scott C. and MDMA – so thank you all very much! These replies, combined with details about the project, lead to the following answer (for the website’s core application): 1 – 4 developers, 3 – 6 months; while php is a good choice for some areas, expect usage of multiple languages.
Here's a helpful resource which describes "The Cone of Uncertainty" which describes the accuracy of estimation throughout the project cycle. Note that you're likely to be wrong by a factor of 4 at the beginning of the project.
http://www.construx.com/Page.aspx?hid=1648
I worked on an auction site that was competing against eBay in the late nineties. I was on the project for several weeks and it had already been running for a year or more before I was contracted on it. Mine was a minor role and the auction site was simple compared to today's eBay.
What ever the estimate is, it's a big number. If you talk about days, weeks or months then it's going to be nothing near the complexity of eBay. You need to think several man years.
To quote Gall's law:
A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.
You cannot expect to build a working system that is anywhere near the complexity of eBay without years and years of user feedback, testing, polishing, redesigning based on experience, responding to all the problems it would have been impossible to predict... if you try to build an eBay clone from scratch, it will crash and burn. Start with something simple, try to find a market segment that is not served well by eBay, and grow organically.
(Of course if by "site like eBay" you mean "any website where you can bid on stuff", you can probably buy and install a preprogrammed and preconfigured auction system in ten minutes. It won't even compare to eBay, but for a small company, it might be a good way to start.)