Многие знают ныне заброшенный проект CMS Livestreet.
Не знаю какая муха меня укусила, но я его полностью переписываю на Yii 3 Кому интересно, отзовитесь.
Собрал все недочеты и хотелки по данному проекту:
План работ: Переписывание LiveStreet на Yii 3
Цель: Создать современную, безопасную и расширяемую блого-социальную CMS, избегая фатальных ошибок LiveStreet (устаревший стек, дыры в безопасности, платные must-have плагины).
Этап 0: Фундамент и безопасность (P0)
Стек: PHP 8.1+, Yii 3 (пакетная архитектура), Cycle ORM, Composer. Весь код приложения строго вне директории public/.
Безопасность: Хеширование argon2id, санитизация через HTMLPurifier, строгие CSRF-токены в POST, Rate-limit авторизации. Инсталлятор и миграции выполняются только через CLI.
Архитектура: PSR-12, строгая типизация, DI-контейнер (yiisoft/di). Полный отказ от синглтонов, глобального состояния и самописных фреймворков в public.
Этап 1: Ядро и администрирование (P0)
Админка: Встроена в ядро (не плагин!). Управление пользователями, RBAC, логами, SEO и запуск миграций в один клик.
Контент: Поддержка кастомных типов контента (блоги, топики, страницы) из коробки, без необходимости покупать аддоны.
Медиа: Встроенная Media Library с индексом использования файлов, поддержкой S3/CDN и генерацией превью.
БД: Официальная поддержка MySQL 8 и PostgreSQL с первого дня разработки.
Этап 2: Социальный функционал и API (P1)
API: REST/OpenAPI с версии 1.0 (аутентификация по токенам, автодокументация).
Социалка: Встроенные модули (с флагами включения): рейтинги/карма, система жалоб, @mentions, личные сообщения, уведомления (email + in-app), подписки.
Производительность: Redis для инкрементальных счетчиков, очереди для тяжелых задач, eager-loading в ORM для полного устранения проблемы N+1 запросов.
Этап 3: Экосистема и миграция (P1)
Плагины: Установка через Composer или UI админки. Строгий semver, декларация зависимостей (require/conflict), собственные миграции и фикстуры в пакетах.
Миграция данных: Написание CLI-импортера для бесшовного переноса пользователей, топиков, блогов и комментариев из LS 1.0.3 и 2.x.
SEO: Генерация единого canonical URL на сущность, встроенный модуль sitemap, Open Graph и JSON-LD из коробки.
Этап 4: Опциональные модули (P2)
Real-time обновления (WebSocket/Mercure), PWA, OAuth-авторизация, Markdown-редактор, мультиязычность контента (yiisoft/translator), биллинг-модуль (подписки/донаты как опция, а не обязательная функция).
🚫 Главное правило проекта: Никаких платных must-have функций (админка, ЧПУ, базовый API, типы контента, жалобы). Именно монетизация базового функционала через платные плагины убила экосистему LiveStreet. Ядро должно быть самодостаточным.