2011-01-04 3 views
8

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

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

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

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

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

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

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

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

+6

Остерегайтесь того, что использование всех этих фантастических готовых деталей с открытым исходным кодом и объединение их друг с другом может занять больше времени, чем строить именно то, что вам нужно (и не больше) с нуля. Если вы его построили, у вас будут только свои ошибки и возможности. Расширение будет намного проще, если вы знаете каждую строку кода. – mvds

+0

использование версия управление. нанять qa (более конкретно хакеров), чтобы взломать дерьмо из вашего проекта. передовой опыт передовой практики. не создавайте его поверх проекта elses (это, скорее всего, даст вам головную боль в какой-то день). – dqhendricks

+0

Репликация Stackoverflow не сложна (возможно, пользовательский интерфейс и инструменты поддержки). Но ваша проблема действительно может заключаться в том, чтобы основывать это на PHPBB. Я не могу себе представить, что это очень помогает, в частности, код регистрации пользователя - это своего рода oldschool, а не очень OpenID или временный профиль. Также перед тем, как начать с нуля, ознакомьтесь с [Квоты с открытым исходным кодом stackoverflow] (http://meta.stackexchange.com/questions/2267/stack-overflow-clones). – mario

ответ

10

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

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

  1. Извлеките свой желаемый набор функций и остановите его. Сопротивляйтесь стремлению расширить свою рабочую нагрузку с каждой новой идеей. Это сложно, я знаю.
  2. Если вы не можете управлять # 1, вам нужно это еще больше. Release quickly and iterate. Лучше сделать что-то работающее, а затем рассмотреть все остальное как улучшения, а не оригинальные функции. Даже если рабочая нагрузка не изменится, ваше мышление будет, и вы будете чувствовать себя намного лучше об этом и более мотивированы. Как добавленный плюс, если у вас есть пользователи, они помогут вам понять, какие новые функции действительно стоят.
+0

Может быть, хороший момент. –

0

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

+0

@DennisKriechel: А теперь лучше? Я думаю, что эта конкретная ссылка, присущая Stack Exchange, не подпадает под обычные правила качества, которые мы будем использовать для внешних ссылок: она должна говорить сама за себя, и это никуда не делось. Но я добавил некоторые объяснения, чтобы аннотировать мое предложение. –

1

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

Смежные вопросы