Skip to content

Полный каталог модулей (с зависимостями) ​

Статус: сводный реестр. Единый категоризированный список всех модулей CMS с явными зависимостями. Сводит воедино каталог подсистем, реестр по донорам и граф зависимостей. Принцип: ядро универсальное (всегда загружено), возможности — через включаемые модули.

Легенда ​

  • Слой: 🟢 ядро (всегда) · 🔵 инфра-модуль · 🟡 функц-модуль.
  • Зависит от: что должно быть включено, чтобы модуль работал (жёсткая зависимость, requires). ядро = базовые механизмы ядра.
  • Зрелость: ★★★ готово к портированию · ★★ рабочая реализация · ★ новое/прототип.
  • Донор — проект студии с самой зрелой реализацией.

Как читать зависимости ​

Модуль не включается, пока не включены его зависимости. Каскад: включаешь модуль → реестр ядра проверяет requires и предлагает/тянет их (см. граф зависимостей). provides — абстрактный контракт, который модуль реализует (несколько модулей могут его предоставлять).

Что можно выключать, не сломав систему ​

Правило единое, а не список исключений:

  • ядро (🟢) не выключается — по определению («не имеет смысла выключить»);
  • любой модуль (🔵/🟡) можно выключить, если на него нет включённых обратных зависимостей — реестр проверяет граф и показывает «кто зависит» до выключения;
  • выключение — всегда деградация, не поломка (сценарий B): блоки/виджеты модуля отдают fallback-заглушку, данные в БД сохраняются, публичный сайт жив; админ предупреждён «модуль используется в N блоках на M страницах»;
  • исключение — обязательный набор managed-парка (бэкап, health-check, Sentry, центр обновлений): технически выключаемы, но на сайте под подпиской выключать нельзя — без них запрещена процедура обновления;
  • поведение конкретного модуля при выключении описывает его docs/module.md (контракт модуля).

A. Ядро (cms/core) — всегда загружено 🟢 ​

Универсальное ядро: базовые механизмы + редакторы. Не «выключается».

A1. Базовые механизмы ​

ПодсистемаЗависит отДонорЗрелость
Kernel/DI/bootstrap—Laravel★★★
Реестр модулей (граф зависимостей)Kernelnwidart (референс)★★
События/хуки (шина + фильтры)—проектируется★★
Очереди—все★★★
Планировщик (cron)Очередивсе★★★
Кеш-слой (теговый)Событияcatalog, universal★★★
Стор настроекКешuniversal, gulaev-dev★★★
Движок полей (типы/валидация/рендер)——★★
API-слой (REST, headless-ready; GraphQL — инфра-модуль)Аутентификация, RBAC—★
Локализация строк (i18n)Настройкивсе★★★
Логирование—все★★★
Файловое хранилище—все★★★
Медиатека + обработка изображенийХранилищевсе (spatie)★★★
Миграции данных——★★
Локальные переопределения (/local)События—★

A2. Контент-движок ​

ПодсистемаЗависит отДонорЗрелость
Страницы + блоки (BlockRegistry)События, Движок полейuniversal, gulaev-dev★★★
Произвольные типы контента (JSONB+GIN)Движок полей—★★
Таксономии/тегиТипы контентанесколько★★
Черновики/версииСтраницыTwill (референс)★
МенюСтраницыuniversal★★
Виджеты (WidgetRegistry)Страницы—★
Конструктор формДвижок полей, Заявки—★
Заявки/лиды (без магазина)Формы, Очередиuniversal (Contact)★★★
Email/SMTPОчередивсе★★★

A3. Безопасность (ядро) ​

ПодсистемаЗависит отДонорЗрелость
Аутентификация + Пользователи—все★★★
RBAC (Shield + spatie/permission)Аутентификацияfreelance, referendum★★★
Политики (Policies)RBACвсе★★★
Rate-limiting—все★★★
Защита форм (CSRF/honeypot/капча)Формывсе★★★
Шифрование полей——★★

A4. SEO-база (ядро) ​

ПодсистемаЗависит отДонорЗрелость
Мета/шаблоны/canonicalСтраницыgulaev-dev, er★★★
SitemapПланировщикer, catalog★★★
Robots/редиректы—gulaev-dev★★★
Schema.org / OpenGraphSEO-метаgulaev-dev★★★
ЧПУ/маршрутизацияСтраницывсе★★★

A5. Редакторы-инструменты (ядро) ​

ПодсистемаЗависит отДонорЗрелость
Редактор сущностейТипы контента, RBAC—★★
Редактор типов данныхДвижок полей—★★
Файловый менеджерМедиатека, Хранилище—★★
Управление пользователямиАутентификация, RBACвсе★★★
Редактор структуры/разделовСтраницы, Меню—★★
Админ-shell + ДашбордRBACFilament★★

B. Инфраструктурные модули 🔵 ​

Включаются по потребности, часто нужны почти везде.

МодульЗависит отDonorЗрелость
Отладка/профилированиеЛогирование—★★
Мониторинг/health-check (обяз. в managed-парке)Уведомленияer, catalog★★
Sentry/трекинг ошибок (обяз. в managed-парке)Логирование—★★
Поиск (Scout+Meilisearch/ES)Очередиcatalog, freelance★★★
CDN-инвалидацияСобытия, Кешcatalog★★★
Аудит действийСобытияfreelance, referendum★★
Резервное копирование (обяз. в managed-парке)Планировщик— (spatie/backup)★★
Импорт данныхОчередиuniversal (Import/*)★★
Экспорт данных (прайс XLSX)Очередиuniversal★★
Feature-flags (UI-таргетинг; механизм pennant — в ядре)Настройки— (laravel/pennant)★★
Broadcasting/realtimeОчереди, События—★
Шина интеграцийОчереди, Настройки—★
Входящие вебхукиСобытия, Безопасностьnotal (платёжные)★★
Исходящие вебхукиСобытия, Очереди—★
Внутренние уведомленияШина увед.freelance★★
Шина уведомлений (резолвер каналов)Очередиfreelance, notal★★★
API-токены (Sanctum)Аутентификацияfreelance★★
Session-управлениеАутентификация—★★
МногосайтовостьНастройки, Маршрутизация—★
МультитенантностьАутентификация—★
Управление доменамиМногосайтовостьproxy★
Центр обновлений (обяз. в managed-парке, ставится skeleton'ом)Бэкап, Health-check—★
Онбординг/визард установкиНастройки—★
Панель разработчикаКеш, Планировщик—★
Объектное хранилище (S3/Selectel)Файл-хранилище—★★
Email/SMS-провайдеры (транспорт)Email, SMS—★★
Шаблоны писемEmail—★
Маркетплейс модулейРеестр модулей, Центр обновлений—★
Флит-дашборд (студийный сервис)Центр обновленийproxy★

C. Контент и услуги 🟡 ​

МодульЗависит отДонорЗрелость
Услуги (иерархия)ядро; suggests Мультигород (гео-оси, city-падежи — работает и в одном городе)artel-23ru★★★
SEO услуг (generic-движок)Услуги, Cityartel-23ru★★★
Кросс-оси услуг (район/бренд/тип)Услуги, SEO услугartel-23ru★★
Блог/статьи (пресет типа контента, ревизия ТЗ предстоит — engine §16)Страницыgulaev-dev, universal★★★
МультиязычностьСтраницыreferendum, universal★★
КомментарииАнтиспам—★
Отзывы/рейтинги (пресет типа контента, ревизия ТЗ предстоит — engine §16)Антифродcatalog, er★★★
Модерация (workflow)RBAC, Черновики—★
FAQ (кандидат в пресет типа контента, модуль уже реализован в коде)SEOнесколько★★
Глоссарий/справочникSEO3 проекта (Dictionary)★★
Баннеры/слайдеры (пресет типа контента, ревизия ТЗ предстоит — engine §16; порог переиспользования — модулем становится только при повторном использовании слайда)Медианесколько★★
Галереи/портфолио (кейсы) (пресет типа контента, ревизия ТЗ предстоит — engine §16)Медиа, Услуги (опц.)artel-23ru, universal★★
Калькулятор/сметаCityartel-23ru, universal★★
Опросы/голосованияФормыreferendum★★
Wizard/анкетыФормыreferendum★★
Публикация по расписаниюПланировщик, Страницы—★
Связанный контент/рекомендацииТипы контента—★
Витрина товаров без корзиныядро; suggests cms/search, cms/related-content, cms/multicity, cms/galleries — НЕ commerce-* (отдельный уровень, commerce-catalog — фаза 2); приоритет P1universal★★
Библиотека секций/паттернов (Gutenberg-style)ядро (BlockRegistry, движок полей); suggests cms/landings; приоритет P0studio-core (UX-референс, без кода)★
Конструктор форм (пресеты + кастом-поля)ядро (cms_forms/LeadService); suggests cms/notifications-bus, капча-интеграции, cms/multicity; приоритет P1—★

D. Маркетинг и SEO (расширенный) 🟡 ​

МодульЗависит отДонорЗрелость
Умный SEO-фильтрSEO-база, Каталог/Услугиer★★★
Мультигород/региональностьSEO-база, Настройкиgulaev-dev, er★★★
SEO-движок (аудит+краулер)SEO-базаgulaev-dev★★★
Аналитика/счётчикиНастройки—★★
Пиксели/tag managerАналитика—★★
UTM/атрибуцияЗаявки—★★
A/B-тестыFeature-flags, Аналитика—★
ЛендингиСтраницыstudio-core★★
Поп-апы/лидогенФормы, A/B—★
Email-маркетингРассылки—★
Рассылки (newsletter)Email, Очереди—★★
Реферальная программаЗаказыnotal★★
Лояльность/бонусы (транзакционный счёт, правила начисления, уровни → типы цен; модель)Заказыnotal★★
Купоны/промо-кампанииСкидки, Лендингиnotal★★
AI-контент (генератор текста/SEO-полей)ядро, cms/integrations-bus; suggests cms/seo-engine, cms/blog, cms/commerce-catalog; приоритет P2 — реализация отложена (проектируется, внедрение позже)universal/artel (ClaudeArticleGenerator)★★
Инъекция кода в <head>/</body> (CSP-гард)ядро (швы layout.head/layout.body_end, security.csp); suggests cms/multicity, cms/audit; приоритет P1—★

E. E-commerce (магазин) 🟡 ​

Цепочка жёстких зависимостей. Включать только магазину (см. граница лид≠заказ).

Доменная модель слоёв (ТП, склады, цены, НДС, скидки) — модель e-commerce.

МодульЗависит отДонорЗрелость
Каталог (+ торговые предложения: варианты цвет×размер, SKU) — highload-уровень, фаза 2; для лёгкой корп-витрины см. категорию C — cms/catalog-showcaseМедиа; suggests Поиск (fallback — PG tsvector)universal, catalog; Lunar (модель ТП)★★★
Свойства/характеристикиКаталогcatalog★★
Фасетный фильтр (учитывает свойства ТП)Каталог, Поискcatalog★★
Цены/типы цен (розница/опт/старая/price1-2, видимость по группам и лояльности, тир-прайсинг)Каталог, Валютыmasha★★
Мульти-склад (склады, остатки per-склад, резервы, движения)Каталогmasha★★
КорзинаКаталогmasha★★
Брошенные корзиныКорзина, Email—★
ЗаказыКорзинаmasha, notal★★
ПлатежиЗаказы, Очередиnotal, er★★★
Подписки/рекуррентныеПлатежи, Планировщикer, notal★★
ДоставкаЗаказы—★
Налоги/НДС (ставки, режим юрлица)Заказы—★
Скидки/промокоды (rule-engine: условие→действие, приоритеты)Корзина, Заказыnotal★★
Возвраты (RMA)Заказы, Платежиnotal★★
Чеки/ОФД (54-ФЗ: НДС и признак предмета расчёта per-позиция)Платежи—★
Цифровые товары (выдача файлов/лицензий после оплаты)Каталог, Платежи—★
Продажа услуг (fulfilment: service, мост с модулем «Услуги»)Каталог—★
ВалютыКаталогer★★
Инвойсы/документы (PDF)Заказыreferendum★★
Wishlist/сравнениеКаталог—★
B2B (юрлица/договоры)Заказы, Цены—★
Маркетплейс/мультивендорКаталог, Заказы, Платежиnotal (эскроу)★★

F. Безопасность (модули) 🟡 ​

МодульЗависит отДонорЗрелость
2FAАутентификацияer, freelance★★
Соцвход oauth-max / oauth-telegram / oauth-yandex (отдельный модуль на провайдера; без Google)Аутентификация—★
Magic-loginEmailnotal★★
АнтиспамФормы—★
АнтифродОтзывы, Заявкиcatalog, er★★
Согласия/152-ФЗАудит—★
Cookie-consentСогласия, Настройки—★
Политика паролейАутентификация—★
Attack-monitor (статистика атак, автоблокировка, блок-лист → Caddy) (обяз. в managed-парке)Логирование, Аудит, Уведомленияcatalog/er (антифрод), freelance (Domains/Reputation)★

G. Кабинеты и мобильные 🟡 ​

МодульЗависит отДонорЗрелость
Клиентский кабинет B2CПользователи, API-слойнесколько★★
Клиентский кабинет B2BКабинет B2C, Заказы, Цены—★
UGC-публикации + модерацияМодерация, Антифродcatalog, er★★
Мобильный API + pushAPI-слой, Шина увед.push-server★★
Web-pushШина увед.—★
SMSШина увед.—★
TelegramШина увед.masha, notal★★
WhatsApp/мессенджерыШина увед.—★
Чат/онлайн-консультантRealtime, Шина увед.—★

H. Интеграции (РФ) 🟡 ​

Все — через шину интеграций.

МодульЗависит от / providesДонорЗрелость
Платёжные шлюзы РФ (ЮKassa/Тинькофф/СБП)Платежи · provides: payment-gatewaynotal★★★
Крипто-платежиПлатежи, Валютыer★★
ОФД/фискализацияЧеки 54-ФЗ—★
Доставка РФ (СДЭК/Почта/Boxberry)Доставка · provides: delivery-provider—★
1С-обмен (CommerceML)Каталог, Заказы, Склад—★
CRM (Битрикс24/amoCRM/RetailCRM)Заявки, Исх. вебхуки—★
Маркетплейсы (Ozon/WB/ЯМаркет)Каталог, Заказы, Склад—★
Яндекс-сервисы (Карты/Метрика/Captcha)Шина интеграцийнесколько★★
Google-сервисы (Maps/Analytics/reCAPTCHA)Шина интеграций—★
Госуслуги/ЕСИАOAuth, Согласия—★
ЭДО (Диадок/СБИС)Шина интеграций, B2B—★
DaData/ФИАСФормы, Заказы—★★
Курсы валют (ЦБ РФ)Валюты, Планировщик—★
ВидеохостингМедиа—★
КалендариШина интеграций—★
ERP1С-обмен, Заказы—★

Метапакеты (наборы под типовой заказ) ​

Один composer require → граф зависимостей разворачивает набор модулей:

МетапакетВключает
Корпоративный сайтядро + Услуги + SEO услуг + Портфолио + Блог + Мультигород
Магазинядро + Каталог + Корзина + Заказы + Платежи + Доставка + Склад (для РФ: + Чеки/ОФД 54-ФЗ + Платёжные шлюзы РФ)
Портал услугядро + Услуги + Кросс-оси + Калькулятор + Кабинет B2C + Отзывы
Маркетплейсядро + Каталог + Мультивендор + UGC-модерация + Платежи (сплит) + Кабинеты B2C/B2B

Заявки, SEO-база, конструктор форм в метапакеты не входят — они в ядре и загружены всегда. Составы метапакетов здесь канонические; граф зависимостей ссылается сюда.

Связанные разделы ​

Внутренняя база знаний студии