Советы по созданию сайта, такого как stackoverflow - PullRequest
8 голосов
/ 05 января 2011

Не такой капризный вопрос, как вы могли бы ожидать - если у вас есть средний веб-разработчик (мы будем говорить, что его зовут "Боб") с достаточным количеством знаний php / mysql / jquery / ajax / etc под его поясом и вы хотели воссоздать сайт, такой же динамичный и такой же сложный, как SO, с нуля, каковы некоторые передовые практики и сколько времени (часов или дней) вы ожидаете, чтобы получить его до довольно стабильной беты?

Я спрашиваю, потому что я работаю над созданием сайта (по общему признанию, совершенно другой, но рабочая нагрузка, которую я представляю, в конечном итоге будет сопоставимой), и кажется, что это занимает вечность. Прошло около месяца, работая не меньше нескольких часов в ночь, и это идет вперед, но развитие, похоже, растет в геометрической прогрессии. Каждая новая идея или кнопка порождает целый ряд других рабочих проектов.

Я стараюсь использовать готовые библиотеки и проекты с открытым исходным кодом, когда могу, и я изучал использование CMS, например, Drupal / Joomla, но, честно говоря, очень много пользовательских сайтов, ну, собственно, что используют визуальные CMS казалось, сдерживал меня.

Будучи зарплатой для такого человека, я не мог позволить себе платить кому-то другому, чтобы помочь, поэтому помимо волонтерской работы, я менее готов создать сайт. (У нас есть микроскопическое сообщество желающих тестировать)

Потому что я знаю это, потому что мы не планируем взимать какие-либо сборы, я строил сайт поверх PHPBB3. (обеспечивает регистрацию / аутентификацию пользователя, API базы данных плюс функции для обеспечения безопасности и полнофункциональную систему шаблонов и множество других функций. Да, и ФОРУМ, хе.)

Я использую библиотеки, такие как jQuery + UI для взаимодействия на стороне клиента.

Я стараюсь сделать все как можно более модульным, поэтому, если мне нужно переписать все это, это не будет ужасной рутиной, но я боюсь, что отсутствие у меня опыта в таких крупных проектах будет фатальным для сайта успех.

Какие уроки могут предложить люди, которые были здесь, и какие временные рамки мне реально ожидать увидеть здесь?

Ответы [ 3 ]

10 голосов
/ 05 января 2011

но развитие, похоже, растет в геометрической прогрессии. Каждая новая идея или кнопка порождает целый ряд других рабочих проектов

Это то, что заставляет его действовать вечно. Вам нужно одну или две вещи, желательно обе.

  1. Определите желаемый набор функций и остановитесь на этом. Не поддавайтесь желанию расширять свою рабочую нагрузку с каждой новой идеей. Это сложно, я знаю.
  2. Если вы не можете управлять # 1, тогда вам это нужно еще больше. Выпуск быстро и итерация. Лучше сделать что-то работающее, а затем рассмотреть остальное как улучшения, а не как оригинальные функции. Даже если рабочая нагрузка не изменится, ваше мышление изменится, и вы будете чувствовать себя намного лучше и более мотивированными. В качестве дополнительного плюса, если у вас есть пользователи, они помогут вам выяснить, какие новые функции действительно полезны.
1 голос
/ 05 января 2011

Я бы не рекомендовал CMS. Я бы рекомендовал вместо этого использовать фреймворк, возможно, что-то вроде CakePHP или Codeigniter. Они уже включают в себя множество библиотек, встроенных и готовых к использованию. Делает вещи быстрее, когда вы освоитесь. Вам все еще может понадобиться библиотека JS или две, но до тех пор, пока вы будете использовать фреймворк как можно чаще, у вас не должно возникнуть никаких проблем при соблюдении надлежащих правил.

0 голосов
/ 05 января 2011

Мой совет: вместо создания нового сайта с нуля предложите новый сайт в сети Stack Exchange по адресу http://area51.stackexchange.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...