Создание другого «жанра» моего веб-сайта (то есть у меня есть стек-эквивалент, и я хочу создать сервер-эквивалент) - PullRequest
2 голосов
/ 13 сентября 2010

Мой сайт, Rap Genius , объясняет слова рэпа.Я хочу создать новый сайт, Rock Genius, который объясняет рок-тексты - в противном случае он будет таким же (тот же макет, та же схема БД; например, Serverfault для Stackoverflow)

Какой лучший способ сделать это?

Подход 1: Форк код

Форк код Rap Genius, изменение соответствующих частей (например, «Рэп» -> «Рок»), создание новой базы данных и переход в город.

  • Плюсы: может работать быстро
  • Минусы: Добавление функции в оба приложения будет несколько болезненным.Также будет невозможно предоставить Rap Genius доступ к данным Rock Genius на уровне БД

Подход 2: Оставить это одно приложение

Всякий раз, когда в мое приложение приходит запрос, проверьте домен.Если это rapgenius.com, установите для константы SITE_NAME значение "rapgenius".Создайте поле genre для пользовательских объектов (песни, записи в блогах и т. Д.) И обновите мои запросы, чтобы использовать правильный жанр на основе SITE_NAME

. Создайте слой абстракции над пользовательскими строками.к этому я могу написать <%= welcome_message %> вместо Welcome to Rap Genius! и welcome_message() принять SITE_NAME во внимание

  • Плюсы: большая гибкость
  • Минусы: много работы!

Мысли?

1 Ответ

1 голос
/ 13 сентября 2010

Второй подход звучит для меня лучше.

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

Скорее всего, вам также будет проще обмениваться учетными записями пользователей, репутацией и любыми другими функциями сообщества.

Возможно, стоит посмотреть на Rails i18n материал для «перевода» статического текста на основе доменного имени.Таким образом, вы можете избежать написания вспомогательных методов для каждой строки, которую хотите отобразить.

Тогда вы сможете действительно легко «франшизировать» сайт - добавьте переводы статических строк, дескриптор для нового домена иможет быть, некоторые изображения для конкретного сайта или CSS, и все готово!

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