Я собираюсь начать крупномасштабный проект веб-приложения. Предпосылкой этого проекта является то, что это будет целевой веб-сайт, который агрегирует контент (контент должен собираться с помощью сканера / бота, который работает независимо и через определенные промежутки времени для индексации данных, предоставленных партнерами, которые одобрили нашу методику), и отображает этот контент в пользователи. Пользователи могут адаптировать контент, представляемый им платформой, ранжируя контент, пытаясь предоставить платформе данные, чтобы определить, какой контент пользователь может найти выгодным. (Да, я знаю, это звучит так же, как stumbleupon.com)
Создатель этой идеи не техничен, и у него есть опыт разработки веб-сайтов с использованием WordPress. Из-за этого его первым инстинктом было призвать CMS при создании этого проекта. Мой инстинкт разработчика, обладающего обширным опытом веб-разработки при создании веб-приложений с помощью PHP / Codeigniter, заключается в том, что CMS никогда не предназначалась для создания такого специализированного приложения, подобного этому, - и попытка использовать его создать много ненужных накладных расходов / беспорядка в проекте.
Я думаю, что может быть лучше создать внутренний интерфейс для просмотра / добавления / редактирования / удаления контента, который собирает паук, так как я представляю, что это единственный тип доступа / контроля, который будет не у технических партнеров нужно в этом проекте. (возможно также забанить пользователей, удалить неуместные комментарии к контенту и т. д.)
Но что вы думаете, ребята, есть ли какая-то ценность, которую CMS может предоставить проекту, подобному этому? Есть ли ситуации, когда общепринятым правилом является то, что CMS это хорошо / плохо? Я пришел из многих лет разработки PHP-приложений с использованием таких фреймворков, как codeigniter, и недавно мне пришлось работать над сайтом WordPress - который мне показался отвратительным беспорядком глобальных переменных, бесконечными «хуками», чтобы заставить код выполнить, когда / где вам это нужно и т. д.
---- РЕДАКТИРОВАТЬ ----
Я должен добавить, что предполагаемая особенность, которую нужно добавить ко всему этому - пользователи смогут добавлять свой собственный контент в нашу коллекцию агрегированного контента. Еще одна особенность, которая заставляет меня думать, что это приложение слишком «уникально», чтобы его можно было должным образом разрабатывать поверх CMS.
---- РЕДАКТИРОВАТЬ ----
Еще одна вещь, которую нужно добавить, - масштабируемость - это серьезная проблема. Мы хотим построить это, чтобы иметь возможность обрабатывать от 200 000 до 2 000 000 - 20 000 000 уникальных посетителей в месяц. Это означает использование всего, что есть в нашем распоряжении, балансировку нагрузки, кэширование memcached, рабочие процессы / серверы, базы данных mysql и mongodb высокой доступности (для различных целей в нашем веб-приложении), сети доставки контента, размещение файлов активов независимо от сервера приложений. и т. д. Мне непросто отказаться от прямого контроля над всем кодом, потому что в прошлом я использовал свою способность прикасаться ко всему для точной настройки любых проблем с производительностью / узких мест.