CMS
Динамический headless-CMS на webedge-db — типы контента, медиа, роли и публичный read-API, питающий наши сайты и статьи.
Dev-storyЗадача
Каждому сайту WebEdge нужны были одни и те же инструменты — типы контента, медиа, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект.
Что делали
CMS на Vue 3 + webedge-db, где редакторы задают типы контента на лету, грузят файлы в медиа-библиотеку и управляют ролями; live-запросы webedge-db дают real-time админку, а публичный REST-эндпоинт отдаёт опубликованные записи.
Результат
Это портфолио и остальные сайты WebEdge читают контент из этой одной CMS через её публичный API.
Dev-story статья
CMS: как создавался проект
Каждому сайту WebEdge нужны были одни инструменты — типы контента, медиа-библиотека, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект. Но это стало больше, чем хранилище: это место, где реально живёт публичный маркетинговый контент.
Разделы
05
Модули
04
Стек
Vue 3 + TypeScript
Почему появился проект
Каждому сайту WebEdge нужны были одни и те же инструменты — типы контента, медиа, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект.
Каждому сайту WebEdge нужны были одни инструменты — типы контента, медиа-библиотека, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект. Но это стало больше, чем хранилище: это место, где реально живёт публичный маркетинговый контент.
Что было создано
CMS на Vue 3 + webedge-db, где редакторы задают типы контента на лету, грузят файлы в медиа-библиотеку и управляют ролями; live-запросы webedge-db дают real-time админку, а публичный REST-эндпоинт отдаёт опубликованные записи.
Headless-CMS на нашем собственном реактивном бэкенде, где редакторы задают типы контента на лету, грузят в медиа-библиотеку и управляют ролями; live-запросы дают real-time админку, а публичный read-API отдаёт опубликованные записи. Поверх этого он держит реальный контент, которым работает этот сайт — каталог проектов как article seeds, маркетинговые и AI-тематические статьи, SEO-хабы с внутренними ссылками и форумные публичные описания сообщества ePokalbis.
Основные модули и путь пользователя
Типы контента задаются на лету, так что новый тип добавляется в редакторе, а не в миграции.
Публичный read-API это контракт: это портфолио и другие сайты WebEdge тянут свой контент — проекты, статьи, страницы — из этого одного CMS, покрытого тестами, чтобы projects API оставался стабильным.
Он же маркетинговая поверхность: записи проектов становятся article seeds, а SEO-хабы с внутренними ссылками на статьи ведутся здесь, а не захардкожены на каждой странице.
Он источник контента больше чем для одного сайта: например, сообщество ePokalbis тянет свои форумные публичные описания отсюда, проверенные тестами, чтобы не просочились запрещённые маркетинговые фразы.
Архитектура и технологические решения
Сделано на Vue 3, TypeScript, webedge-db.
Vue 3-админка на нашем собственном реактивном бэкенде; типы контента на лету, медиа-библиотека и роли; live-запросы для real-time редактора; публичный read-API с регресс-тестами; seed-данные для каталога проектов и статей.
Результат и выводы
Это портфолио и остальные сайты WebEdge читают контент из этой одной CMS через её публичный API.
Одно место управлять всем публичным: редакторы меняют контент, а сайты из него пересобираются, так что новые страницы, проекты и статьи добавляются через типизированный контент, а не через отдельную систему публикации.
Связанные статьи
Читать дальше
Связанные истории проектов
Эти проекты близки по техническим или продуктовым решениям и показывают, как тот же принцип работает в другом контексте.
Dev-storyПлатформа календарных бронирований
Бронирование на Vue 3 — слоты, записи, письма и Meet-видеозвонки в один клик.
Dev-storyFableVita
FableVita — AI-фитнес-тренер с лигами, квестами и защищённой от фрода экономикой наград.
Dev-storyФорум сообщества ePokalbis
Публичный форум сообщества ePokalbis на webedge-db.
Есть похожая идея?
Обсудить проект