Not as whimsical a question as you might expect - If you have an average web developer (we'll say his name is "Bob") with a fair amount of php/mysql/jquery/ajax/etc knowledge under his belt, and you wanted to recreate a site like as dynamic and as complex as SO from scratch, what are some best practices, and how long (hours or days) would you expect it to take to get it to a fairly stable beta?
I ask because I'm working on building a site (admittedly completely different, but the workload I imagine will end up being comparable), and it just seems like it's taking forever. It's been about a month working it no less than a few hours a night and it's coming along, but development just seems to escalate exponentially. Every new idea or button spawns a whole range of other work projects.
I try to use pre-made libraries and open source projects when I can, and I've looked into using CMS's like Drupal/Joomla, but honestly so much of custom sites are, well custom, that using a visual CMS just seemed to hold me back.
Being a paycheck to paycheck kind of person, I couldn't afford to pay someone else to help, so beyond volunteer work I'm more less on my own here to make the site. (We do have a microscopic community of willing testers)
Because I know it, because we aren't planning to charge any fees I've been building the site on top of PHPBB3. (provides the user registration/authentication, a database API plus functions for security and a full featured templating system and a plethora of other features.. Oh, and a FORUM, heh.)
I use libraries like jQuery+UI for the client side interactions.
I try to make things as modular as possible, so if I need to rewire the whole thing it wont be a terrible chore, but I worry that my lack of experience in major projects like this is going to be fatal to the site's success.
What lessons can folks who have been here offer, and what kind of timeline should I realistically expect to be looking at here?
but development just seems to escalate exponentially. Every new idea or button spawns a whole range of other work projects
This is what's causing it to take forever. You need to one or two things, preferably both.
I wouldn't recommend a CMS. I'd recommend going with a framework instead, perhaps something like CakePHP or Codeigniter. They already include a ton of libraries built in and ready to be used. Makes things go way faster once you get the hang of it. You may still need a JS library or two, but as long as you use the framework as much as possible, you shouldn't have any trouble if proper practices are followed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With