Tips for building a site like stackoverflow

Not as a fancy question, as you might expect - if you have an average web developer (we will call his name “Bob”) with enough php / mysql / jquery / ajax / etc under his belt, and you wanted to recreate the site as dynamic and complex as SO from scratch, some best practices and how much time (hours or days) do you expect from it to get a stable beta version?

I ask because I am working on a website (admittedly, completely different, but the workload, in my opinion, will be comparable), and it seems that this is happening forever. About a month passed, working with him no less than a few hours at night, and this happens, but the development seems to escalate exponentially. Each new idea or button generates a number of other work projects.

I try to use pre-created libraries and open source projects whenever I can, and I studied the use of CMS, such as Drupal / Joomla, but to be honest, many user sites that are highly customizable, use only visual CMS seemed to hold me back.

Being a paycheck to pay per person, I could not afford to pay someone else to help, so outside of the work of a volunteer, I am no longer here on my own to make a website. (We have a microscopic community of willing testers)

Because I know this, because we do not plan to levy any fees that I build on the site on top of PHPBB3. (provides user registration / authentication, database APIs plus security features and a fully functional template system and many other functions .. Oh and FORUM, heh.)

I use libraries like jQuery + UI for client-side interaction.

I try to make everything as modular as possible, so if I need to redo all of this, it will not be a terrible task, but I worry that my lack of experience in such large projects as this will be a fatal success for the site.

What lessons can people who were here have to offer, and what schedule should I expect realistically here?

+8
php mysql website
source share
3 answers

but development seems to escalate exponentially. Each new idea or button generates a number of other work projects.

This is what makes him accept forever. You will need one or two things, preferably both.

  • Find out the desired feature set and stop there. Resist the urge to expand your workload with every new idea. This is difficult, I know.
  • If you cannot control # 1, you need it even more. release quickly and quickly. It's better to do something working, and then consider everything else as improvements, rather than original features. Even if the workload does not change, your thinking will be, and you will feel much better about it and more motivated. As an added plus, if you have users, they will help you understand what new features are really worth it.
+10
source share

I would not recommend CMS. I would recommend using a framework instead, perhaps something like CakePHP or Codeigniter. They already include a ton of libraries, built-in and ready to use. Makes everything faster as soon as you get it. You may still need a JS library or two, but as long as you use the framework as much as possible, you should not have any problems if the proper methods are followed.

+1
source share

My advice: instead of creating a new site from scratch, suggest a new site on the Stack Exchange network, http://area51.stackexchange.com .

0
source share

Source: https://habr.com/ru/post/650691/


All Articles