Все проекты

CMS

Динамический headless-CMS на webedge-db — типы контента, медиа, роли и публичный read-API, питающий наши сайты и статьи.

Vue 3TypeScriptwebedge-db
Скриншот WebEdge CMS и публичного API контентаDev-story
01

Задача

Каждому сайту WebEdge нужны были одни и те же инструменты — типы контента, медиа, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект.

02

Что делали

CMS на Vue 3 + webedge-db, где редакторы задают типы контента на лету, грузят файлы в медиа-библиотеку и управляют ролями; live-запросы webedge-db дают real-time админку, а публичный REST-эндпоинт отдаёт опубликованные записи.

03

Результат

Это портфолио и остальные сайты WebEdge читают контент из этой одной CMS через её публичный API.

Dev-story статья

CMS: как создавался проект

Каждому сайту WebEdge нужны были одни инструменты — типы контента, медиа-библиотека, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект. Но это стало больше, чем хранилище: это место, где реально живёт публичный маркетинговый контент.

Разделы

05

Модули

04

Стек

Vue 3 + TypeScript

01

Почему появился проект

Каждому сайту WebEdge нужны были одни и те же инструменты — типы контента, медиа, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект.

Каждому сайту WebEdge нужны были одни инструменты — типы контента, медиа-библиотека, роли — и один API для чтения опубликованного, а не отдельная база под каждый проект. Но это стало больше, чем хранилище: это место, где реально живёт публичный маркетинговый контент.

02

Что было создано

CMS на Vue 3 + webedge-db, где редакторы задают типы контента на лету, грузят файлы в медиа-библиотеку и управляют ролями; live-запросы webedge-db дают real-time админку, а публичный REST-эндпоинт отдаёт опубликованные записи.

Headless-CMS на нашем собственном реактивном бэкенде, где редакторы задают типы контента на лету, грузят в медиа-библиотеку и управляют ролями; live-запросы дают real-time админку, а публичный read-API отдаёт опубликованные записи. Поверх этого он держит реальный контент, которым работает этот сайт — каталог проектов как article seeds, маркетинговые и AI-тематические статьи, SEO-хабы с внутренними ссылками и форумные публичные описания сообщества ePokalbis.

03

Основные модули и путь пользователя

M01

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

M02

Публичный read-API это контракт: это портфолио и другие сайты WebEdge тянут свой контент — проекты, статьи, страницы — из этого одного CMS, покрытого тестами, чтобы projects API оставался стабильным.

M03

Он же маркетинговая поверхность: записи проектов становятся article seeds, а SEO-хабы с внутренними ссылками на статьи ведутся здесь, а не захардкожены на каждой странице.

M04

Он источник контента больше чем для одного сайта: например, сообщество ePokalbis тянет свои форумные публичные описания отсюда, проверенные тестами, чтобы не просочились запрещённые маркетинговые фразы.

04

Архитектура и технологические решения

Сделано на Vue 3, TypeScript, webedge-db.

Vue 3-админка на нашем собственном реактивном бэкенде; типы контента на лету, медиа-библиотека и роли; live-запросы для real-time редактора; публичный read-API с регресс-тестами; seed-данные для каталога проектов и статей.

05

Результат и выводы

Это портфолио и остальные сайты WebEdge читают контент из этой одной CMS через её публичный API.

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

Читать дальше

Эти проекты близки по техническим или продуктовым решениям и показывают, как тот же принцип работает в другом контексте.

Есть похожая идея?

Обсудить проект